成都网站建设设计

将想法与焦点和您一起共享

怎么在python中利用装饰器保留原函数信息

怎么在python中利用装饰器保留原函数信息?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

木兰网站建设公司成都创新互联公司,木兰网站设计制作,有大型网站制作公司丰富经验。已为木兰成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的木兰做网站的公司定做!

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

1、说明

使用装饰器时,原函数似乎没有改变,但其元信息发生了变化——此时的原函数实际上是包裹后的wrapper函数。

若要保留原始函数的元信息,可以通过内置@functools.wraps(func)实现:

@functools.wraps(func)的作用是通过update_wrapper和partial将目标函数的元信息复制到wrapper函数中。

2、实例

# 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中利用装饰器保留原函数信息
网站路径:http://chengdu.cdxwcx.cn/article/gcjhoi.html