# encoding=utf-8
"""不带参数的装饰器"""
def func(func_param):
def func_inner(*args):
print("I am func_inner函数", args)
func_param()
return func_inner
@func # 等价于func_execute=func(func_execute)
def func_execute():
print("I am func_execute")
"""
先定义一个装饰器func(),而func函数里面的func_inner函数就是一个闭包,当我们在函数func_execute定义前加上@fun时,
这个语句就相当于:func_execute=func(func_execute),func()函数返回类func_inner函数的内存地址,下面的func_execute()
其实就是调用了“闭包”func_inner(),进行了funct_inner()函数里面的操作
"""
if __name__ == '__main__':
func_execute('哈哈', '嘿嘿')
Python装饰器(不带参数)
最新推荐文章于 2024-03-23 17:01:33 发布