装饰器
装饰器在Python中使用的是比较广泛的,装饰器主要的作用就是在不改变原先代码的情况下给源代码添加功能,比如在版本迭代过程中需要给源代码添加功能,有不方便修改原先的代码,这时候用装饰器是最好的选择。
下面的代码是给test添加功能(不使用语法糖 @ 的情况):
def set_fun(func):
def call_fun(*args, **kwargs):
print("添加功能")
return func(*args, **kwargs)
return call_fun
def test(*args, **kwargs):
print("test is show")
# 调用函数
test = set_fun(test)
test()
使用语法糖 @ 的情况:
def set_fun(func):
def call_fun(*args, **kwargs):
print("添加功能")
return func(*args, **kwargs)
return call_fun
@set_fun # 相当于test = set_fun(test)
def test(*args, **kwargs):
print("test is show")
# 调用函数
# test = set_fun(test)
test()