下面两段代码是等价的,
@修饰符号是处理嵌套函数问题,@fun 中fun 是母函数,
#funA 作为装饰器函数
def funA(fn):
print("C语言中文网")
fn() # 执行传入的fn参数
print("http://c.biancheng.net")
return "装饰器函数的返回值"
@funA
def funB():
print("学习 Python")
funB
C语言中文网
学习 Python
http://c.biancheng.net
Out[155]: '装饰器函数的返回值'
----------------------------------------------分割线-----------------------------------------
#funA 作为装饰器函数
def funA(fn):
print("C语言中文网")
fn() # 执行传入的fn参数
print("http://c.biancheng.net")
return "装饰器函数的返回值"
def funB():
print("学习 Python")
funA(funB)
C语言中文网
学习 Python
http://c.biancheng.net
Out[156]: '装饰器函数的返回值'
参考链接