利用学习的类去定义一个矩形类,长和宽是这个矩形类的 属性,求面积是这个类中的方法
第一种
class Rectangle:
len = 10
wid = 5
area = len * wid
juxing = Rectangle #类的实例化
print(juxing.area) 用实例去调用类中属性
第二种:
# 定义类的时候就进行类的初始化
class Rectangle():
def __init__(self, len, wid):
self.len = len
self.wid = wid
def area(self):
area = self.len *self.wid
print(area)
self = Rectangle(10, 5) #动态传参
self.area()
第三种
class Rectangle():
len = 10
wid = 5
def area(self): #这里是self 下面调用时就得用实例去调用方法
print(self.len * self.wid)
juxing = Rectangle()
juxing.area()
第四种
class Rectangle():
len = 10
wid = 5
def area(): #类方法 这里面没有self ,后面调用就得用类去调用
area = Rectangle.len * Rectangle.wid
print(area)
juxing = Rectangle()
# juxing.area() # 因为是类中方法里面没有参数Self.所以这里如果用实例调用就会出错!
Rectangle.area()
区别一下第三种和去四种 .在定义类的方法的时候,如果有参数self,那么在调用时就得用实例去调用(因为self就是实例本身), 如果在定义类方法时没有参数self,那么就用类直接去调用类的方法,不用在进行类的实例化.
如理解有错,请您评论告知,谢谢!