zoukankan      html  css  js  c++  java
  • python3之装饰器修复技术@wraps

    普通函数

    def f():
        """
        这是一个用来测试装饰器修复技术的函数
        """
        print("哈哈哈")
    
    
    if __name__ == '__main__':
        print("执行的函数名:", f.__name__)
        print("函数的注释:", f.__doc__)
    
    # 打印结果
       执行的函数名: f
       函数的注释: 这是一个用来测试装饰器修复技术的函数

    添加装饰器

    def wrapper(func):
        def inner(*args, **kwargs):
            print("在前面执行的代码。。。。")
            func()
            print("在后面执行的代码...")
        return inner
    
    
    @wrapper
    def f():
        """
        这是一个用来测试装饰器修复技术的函数
        """
        print("哈哈哈")
    
    
    if __name__ == '__main__':
        print("执行的函数名:", f.__name__)
        print("函数的注释:", f.__doc__)
    
    # 打印结果
       执行的函数名: inner
       函数的注释: None

    添加装饰器修复技术@wraps

    from functools import wraps

    def
    wrapper(func): @wraps(func) def inner(*args, **kwargs): print("在前面执行的代码。。。。") func() print("在后面执行的代码...") return inner @wrapper def f(): """ 这是一个用来测试装饰器修复技术的函数 """ print("哈哈哈") if __name__ == '__main__': print("执行的函数名:", f.__name__) print("函数的注释:", f.__doc__)

    # 打印结果

        执行的函数名: f
        函数的注释: 这是一个用来测试装饰器修复技术的函数

  • 相关阅读:
    【JavaScript知识点一】JavaScript 数据类型
    grunt操作之Gruntfile.js
    js重定向后跳转到当前页面锚点
    Java-变量和方法
    Java-运算符
    Java-类型转化
    Java-数组
    Java-循环结构(for,while)
    Java-选择结构(if-else)
    Java-数据类型(引用类型)
  • 原文地址:https://www.cnblogs.com/aaronthon/p/9440158.html
Copyright © 2011-2022 走看看