@函数装饰器
#当程序使用“@函数”(比如函数A)装饰另一个函数(比如函数B)时,实际上完成如下两步
##将被修饰的函数(函数B)作为参数传给@符号引用的函数(函数A)
##将函数B替换(装饰)成第1步的返回值
@事例
def funA(fn):
print('A')
fn() # 执行传入的fn参数
return 'fkit'
'''
下面装饰效果相当于:funA(funB),
funB 将会替换(装饰)成 funA() 语句的返回值;
由于funA()函数返回 fkit,因此 funB 就是 fkit
'''
@funA
def funB():
print('B')
print(funB) # fkit