应用decorator装饰器的一个示例,
from functools import wraps
# 定义装饰器
def debug(func):
@wraps(func)
def wrapper(*args, **kwargs):
result = func(*args)
print(f"[调试] 调用函数 {func.__name__} 并带有参数 {args} | 结果 : {result}")
return result
return wrapper
# 在hello()函数上应用装饰器
@debug
def hello(name):
return "你好," + name
# 调用装饰器的函数
print(hello("小李"))
print((debug(lambda x: x ** 2))(3))
print(list(map(debug(lambda x: x*2), range(3))))
运行结果如下:
[调试] 调用函数 hello 并带有参数 ('小李',) | 结果 : 你好,小李
你好,小李
[调试] 调用函数 <lambda> 并带有参数 (3,) | 结果 : 9
9
[调试] 调用函数 <lambda> 并带有参数 (0,) | 结果 : 0
[调试] 调用函数 <lambda> 并带有参数 (1,) | 结果 : 2
[调试] 调用函数 <lambda> 并带有参数 (2,) | 结果 : 4
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/73788
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!