pythondecorator装饰器用例

应用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
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 10 日
下一篇 2024 年 7 月 10 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注