python装饰器如何解决元信息丢失?
- 更新时间:2021-08-01 08:48:02
- 编辑:谭暖瞳
本站收集了一篇相关的编程文章,网友詹忻乐根据主题投稿了本篇教程内容,涉及到Python相关内容,已被863网友关注,下面的电子资料对本篇知识点有更加详尽的解释。
参考资料
- Python+Selenium挂课脚本 / 63 KB / 码小辫 推荐度:
- Python极客编程:用代码探索世界 PDF 电子书 / 94.6 MB / 李·沃恩 推荐度:
- 《Python高性能编程》配套资源 配套资源 / 17.17 MB / [美] Micha Gorelick 戈 推荐度:
- Python pygame五子棋游戏 / 9 KB / 码小辫 推荐度:
- Python测试驱动开发:使用Django、Selenium和JavaScript进行Web编程(第2版) PDF 电子书 / 11.2 MB / 哈利.J.W.帕西瓦尔 推荐度:
正文内容
《python装饰器如何解决元信息丢失?》是一篇值得学习的技术文章,知识点总结的很细,改了一下错误代码,希望对网友有用。
1、问题
使用装饰器可以大幅度提高代码的复用性,但是缺点就是原函数的元信息丢失了。
# 装饰器 def logged(func): def logging(*args, **kwargs): print(func.__name__) print(func.__doc__) func(*args, **kwargs) return logging # 函数 @logged def f(x): """函数文档,说明""" return x * x print(f.__name__) # 输出 logging print(f.__doc__) # 输出 None
2、解决办法非常简单,导入 from functools import wraps ,修改代码为下述内容:
from functools import wraps # 装饰器 def logged(func): @wraps(func) def logging(*args, **kwargs): print(func.__name__) print(func.__doc__) func(*args, **kwargs) return logging # 函数 @logged def f(x): """函数文档,说明""" return x * x print(f.__name__) # 输出 f print(f.__doc__) # 输出 函数文档,说明
以上就是python装饰器解决元信息丢失烦扰方法,希望对大家有所帮助。更多Python学习推荐:python教学
相关教程
-
Python利用pandas处理Excel数据的应用详解
这篇文章主要介绍了Python利用pandas处理Excel数据的应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2019-06-26
-
Python3爬虫使用Fidder实现APP爬取示例
这篇文章主要介绍了Python3爬虫使用Fidder实现APP爬取示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
发布时间:2019-06-03