AI路漫漫
2020-04-16 11:53
采纳率: 33.3%
浏览 126
已采纳

有没有人想过为什么装饰器要套那么多层啊,把参数放到一个里面就不行啊?

今天回来看了下装饰器,然后就很好奇为啥要套几层内置函数。。。

def use_logging(level):
    def decorator(func,*args, **kwargs): # 把参数合并在了一个里面
        if level == "warn":
            print("level warn %s is running" % func.__name__)
        elif level == "info":
            print("level info %s is running" % func.__name__)
        return func(*args)
    return decorator

@use_logging(level="warn")
def foo(name='foo'):
    print("i am %s" % name)

然后就不行了。。。。。萌新求解

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题