导语:
本文主要介绍了关于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
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何抛出异常08/23
- ♥ 如何在python中处理事件11/08
- ♥ python 使用 3rd 方模块进行连接10/13
- ♥ Python如何判断一个数是否为整数?08/18
- ♥ python错误如何跟踪12/09
- ♥ 如何在 Python 中使用 Collections 模块数据类型?12/14
内容反馈