隐藏页面特效

python装饰器保留原有函数名称和属性functools.wraps()

# python装饰器在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,python的functools包中提供了一个叫wraps的decorator来消除这样的副作用。写一个decorator的时候,最好在实现之前加上functools的wrap,它能保留原有的函数的名称和函数属性 # 不加wraps def my_decorator(f): def wrapper(*args, **kwargs): print("ing") return f(*args, **kwargs) return wrapper @my_decorator def example(): print("called example function") print(example.__name__,example.__doc__) # wrapper,decorator # 加上wraps import functools def my_decorator(f): @functools.wraps(f) #这边加上wraps装饰器 def wrapper(*args, **kwargs): print("ing") return f(*args, **kwargs) return wrapper @my_decorator def example(): print("called example function") print(example.__name__,example.__doc__) # example,Docstring

__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/15867196.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示