Discuss / Python / 关于既支持: @log 又支持 @log('execute')问题,关于俺没想出来,网上找了好多,好久,有的看不懂,有的感觉不对,只发现了一个感觉是对的

关于既支持: @log 又支持 @log('execute')问题,关于俺没想出来,网上找了好多,好久,有的看不懂,有的感觉不对,只发现了一个感觉是对的

Topic source

def log(text=None): #修饰器存在默认值:为没有参数

    def de(func):

    @functools.wraps(func)

        def first(*args, **kw):

            if text: # 当text为True,即修饰器携带参数

                print('begin call', func.__name__, 'input is', text) # 函数开始前打印日志,并显示修饰器携带的参数

            else: # 当为False时,text为None,即修饰器不携带参数

                print('begin call', func.__name__) #函数开始前打印日志

            rs = func(*args, **kw)

            print('end call') #函数结束打印日志

            eturn rs

        return first

    return de

nstart0902

#2 Created at ... [Delete] [Delete and Lock User]

这个写法错误的


  • 1

Reply