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 , 必须使用正常的调用方法的形式,即在后面加()

 

内置装饰器,可以将类的方法变成像属性一样调用。不需要()。

posted @ 2020-02-25 17:05  Parallax  阅读(441)  评论(0编辑  收藏  举报