python装饰器-------在代码运行期间动态增加功能的方式
def log():
装饰器本质上是一个接受函数作为参数,并返回一个函数的这种高阶函数,用在定义函数或类时。log就是装饰器
装饰器可以用函数实现,也可以用类实现。
python放置装饰器的语法:@log
1 @property: 2 3 class DataSet(object): 4 @property 5 def method_with_property(self): ##含有@property 6 return 15 7 def method_without_property(self): ##不含@property 8 return 15 9 10 l = DataSet() 11 print(l.method_with_property) # 加了@property后,可以用调用属性的形式来调用方法,后面不需要加()。 12 print(l.method_without_property()) #没有加@property , 必须使用正常的调用方法的形式,即在后面加()
内置装饰器,可以将类的方法变成像属性一样调用。不需要()。