1 class Room: 2 def __init__(self, name, owner, width, length, heigh): 3 self.name = name 4 self.owner = owner 5 self.width = width 6 self.length = length 7 self.heigh = heigh 8 9 @property # 函数属性变为数据属性,调用方式改变 10 def cal_area(self): 11 # print('%s 住的 %s 总面积是%s' % (self.owner, self.name, self.width * self.length)) 12 return self.width * self.length 13 14 @property 15 def cal_total(self): 16 return self.width * self.length * self.height 17 18 19 r1 = Room('厕所', 'alex', 100, 100, 100000) 20 r2 = Room('公共厕所', '袁浩', 10, 1, 10) 21 print('%s 住的 %s 总面积是%s' % (r1.owner, r1.name, r1.width * r1.length)) 22 r1.cal_area() 23 r2.cal_area() 24 print(r1.cal_area) 25 print(r2.cal_area) 26 print(Room.cal_area) 27 print(r1.cal_total) 28 输出: 29 1000000000
调用函数属性可以变为像调用数据属性 叫静态属性