3.装饰器

 1 def log(func):
 2     def wrapper(*args, **kw):
 3         print('call %s()' % func.__name__)
 4         return func(*args, **kw)
 5     return wrapper
 6 
 7 @log
 8 def now():
 9     print('2015-3-25')
10     
11 now()

特别注意第七行,这个不是注释,是必须的,是声明你接下来的函数声明要是用哪个装饰器。

上述代码会输出

call now()

2015-3-25

可以看出其实就是用now()作为log的输入,等于是为now函数外层增加了一个封装,便于输出now中没有定义的一些属性。

原文地址:https://www.cnblogs.com/lixiaofou/p/7814494.html