zoukankan      html  css  js  c++  java
  • 函数的装饰器修复技术(@wraps)

    Python函数的装饰器修复技术(@wraps)

    @wraps

    函数的装饰器修复技术,可使被装饰的函数在增加了新功能的前提下,不改变原函数名称,还继续使用原函数的注释内容;

    方便了上下文环境中不去更改原来使用的函数地方的函数名;

    使用方法:

    from functools import wraps
    
    def 装饰器(func):    #写装饰器
        @wraps(func)    #使用装饰器修复技术
        def inner(*args,**kwargs):
            print('函数之前执行的代码')
            func(*args,**kwargs)
            print('函数之后执行的代码')
        return inner
    
    @装饰器     #加装饰器
    def outer(a):
        '''
        函数的作用注释:被修饰的原函数
        :param a:参数a解释
        :return:函数返回值解释
        '''
        def inner():
            print('内部函数',a)
        return inner()
    
    outer('你好')
    
    print("打印函数名称:",outer.__name__)   #打印函数名称
    print('打印函数注释:',outer.__doc__)   #打印函数注释
    

    执行结果:

    函数之前执行的代码
    函数之后执行的代码
    打印函数名称: outer
    打印函数注释: 
        函数的作用注释:被修饰的原函数
        :param a:参数a解释
        :return:函数返回值解释
        
    

    可以看出@wraps体现出的作用,方便了上下文环境中不去更改原来使用的函数地方的函数名

  • 相关阅读:
    Netbackup 命令之bplist
    定时任务crond生产实战经验
    数据分析的应用
    数据分析的三个常见误区
    Linux文件系统目录结构
    Linux系统介绍
    两款傻瓜化小白爬虫工具推荐
    时间管理利器之一:RescueTime 自动记录时间
    Lambda 表达式
    IDEA 配置 不需要提交的文件 保证git代码干净
  • 原文地址:https://www.cnblogs.com/cheng825/p/12036361.html
Copyright © 2011-2022 走看看