1、简单装饰器
例如:def login(func):
def inner(y):
print(‘恭喜,验证通过!‘)
func(y)
return inner
@login
def TV(x):
print(‘这就是 %s 。。。。‘ %x)
TV(‘hah‘)
结果:恭喜,验证通过!
这就是 hah 。。。。
流程:执行TV()时,首先是将被装饰的函数名作为装饰函数的参数执行装饰函数(此例中是将TV作为参数传入到login中并执行该函数),在执行完login函数后就返回该函数的返回值,
然后有将被装饰函数的参数作为参数传入到login函数返回值(返回函数)并执行(此例中是将TV中的参数作为inner的参数传入inner中并执行该函数)!
原文:http://www.cnblogs.com/zhangyuxin/p/6270199.html