Python进阶-----类的静态属性(@property)

静态属性 == 数据属性

若想方便使用想将类的函数属性同对象的数据属性一样可供对象直接调用,可以在类中的函数前加上装饰器@property,这样就将函数属性
转换为类似数据属性一样可供直接调用(封装)
但是不可被修该(不同于数据属性),静态属性可以访问类的数据属性和实例的数据属性

 1 class cal:
 2     cal_name = '计算器'
 3     def __init__(self,x,y):
 4         self.x = x
 5         self.y = y
 6 
 7     @property           #在cal_add函数前加上@property,使得该函数可直接调用,封装起来
 8     def cal_add(self):
 9         return self.x + self.y
10 
11 c = cal(10,11)
12 print(c.cal_name)   #>>> '计算器'   调用类的数据属性
13 print(c.cal_add)    #>>> 21         这样调用类函数属性看起来跟调用数据属性一样  c.cal_name >>> '计算器'
14 c.cal_add = 10      #这样修改会报错,因为不可被修改

 

posted @ 2018-10-14 23:07  Meanwey  阅读(848)  评论(1编辑  收藏  举报