Python @函数装饰器用法

下面两段代码是等价的,
@修饰符号是处理嵌套函数问题,@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]: '装饰器函数的返回值'

参考链接

上一篇:Python基础2——类型转换、深浅拷贝、函数


下一篇:315. 计算右侧小于当前元素的个数