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
        函数的注释: 这是一个用来测试装饰器修复技术的函数

  • 相关阅读:
    Day 69
    Day 68
    Day 67
    Day 66
    Day 65
    Day 64
    Day 63
    Day 62
    Day 61
    Day 60
  • 原文地址:https://www.cnblogs.com/aaronthon/p/9440158.html
Copyright © 2011-2022 走看看