【说站】python装饰器如何保留原函数信息
2024-12-13
36
python装饰器如何保留原函数信息
说明
1、使用装饰器时,原函数似乎没有改变,但其元信息发生了变化——此时的原函数实际上是包裹后的wrapper函数。
2、若要保留原始函数的元信息,可以通过内置@functools.wraps(func)实现。
@functools.wraps(func)的作用是通过update_wrapper和partial将目标函数的元信息复制到wrapper函数中。
实例
# def decorator def decorator_with_args(*args, **kwargs): print('Step1: enter wrapper with args func.') print(args) print(kwargs) def decorator_func(func): @functools.wraps(func) def wrapper(*args, **kwargs): print('Step2: enter wrapper func.') return func(*args, **kwargs) return wrapper return decorator_func
以上就是python装饰器保留原函数信息的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
更新于:1个月前赞一波!3
相关文章
- 【说站】python自定义日志如何实现
- 【说站】python有哪些注释的种类
- 【说站】js中diff函数的使用
- 【说站】js中isBefore函数如何判断
- 【说站】python中__new__的重写
- 【说站】python如何解决初始化执行次数
- 【说站】python错误类型捕获的方法
- 【说站】python数据结构堆的介绍
- 【说站】python参数调用的注意点
- 【说站】python Pandas读取数据文件的优点
- 【说站】python中in和is的区分
- 【说站】python异常中常见关键字
- 【说站】python os.path.join()函数的使用
- 【说站】python如何使用skimage包提取图像
- 【说站】php增量Hash函数的使用
- 【说站】python confusion_matrix()是什么
- 【说站】python中os.path.join()函数是什么
- 【说站】python中有哪些比较操作
- 【说站】python字符串的用法总结
- 【说站】python列表数据如何增加和删除
文章评论
评论问答