静态属性。@property。作用就是把类的函数属性,封装成类似数据属性。再调用函数printmassage 时候,必须不带()执行。
class Student(object):
school='python'
@property
def printmassage(self):
print('php')
s1=Student()
s1.printmassage #php
注意,当类中的函数有其他参数时(非self),加上@property关键字会报错,提示缺少必要的位置参数,猜想应该是装饰的问题,可能需要自定义装饰器才行。可以判断,@property的作用是:直接运行被装饰的函数,不能带参数,简单理解就是在被装饰的函数后面直接加括号。