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

  • 相关阅读:
    POJ 1163 状态转移
    POJ 1143 记忆化搜索+博弈论
    POJ 1083
    POJ 1018
    HDU 3572 Dinic
    HDU 3549 Dinic
    配置JDK环境变量配置及path和classpath的作用
    frameset 框架整体退出登录的问题
    java计算时间差及比较时间大小(转)
    Android—Http连接之GET/POST请求
  • 原文地址:https://www.cnblogs.com/aaronthon/p/9440158.html
Copyright © 2011-2022 走看看