zoukankan      html  css  js  c++  java
  • python 测试:wraps

    任务:

    现有两个函数:

    def print1():
        print("I am print1")
    def print2():
    print("I am print2")

    使用wrap,在执行print1之前输出:I am wraper1

    在执行print2之前输出:I am wraper2 + 自定义文字

    解答:

    from functools import wraps
    
    #无参wrap
    def log1(func):
        @wraps(func)
        def wraper(*args,**kwargs):
            print("I am wraper1")
            return func(*args, **kwargs)
        return wraper
    
    @log1
    def print1():
        print("I am print1")
    
    
    # 有参数
    def log2(txt):
        def log3(func):
            @wraps(func)
            def wraper1(*args, **kwargs):
                print("I am wraper2",txt)
                return func(*args, **kwargs)
            return wraper1
        return log3
    
    @log2('123')
    def print2():
        print("I am print2")
    
    
    print1()
    print2()
     
  • 相关阅读:
    [Zjoi2006]GameZ游戏排名系统
    二逼平衡树
    郁闷的小J
    Dynamic Rankings
    数列[专杀Splay版]
    星际争霸
    半平面交
    自适应辛普森
    7月31日
    规约先行-(三)代码格式
  • 原文地址:https://www.cnblogs.com/birdofparadise/p/8327408.html
Copyright © 2011-2022 走看看