为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 '[%s] %s()...' [%s] %s()...而是输出没有输出[DEBUG] test()... , '[%s] %s()...'后面的%是什么意思,输出结果中的None怎么来的?


def log(prefix):
   def log_decorator(f):
       def wrapper(*args, **kw):
           print '[%s] %s()...' % (prefix, f.__name__)
           return f(*args, **kw)
       return wrapper
   return log_decorator

@log('DEBUG')
def test():
   pass
print test()

正在回答

1 回答

%号是Python中的一种语法,第一个%s表示此处是字符串,对应的是最后一个%后面括号里的第一个元素,之后的依次类推,因为test()函数主体是pass,所以后面的结果是None

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么 '[%s] %s()...' [%s] %s()...而是输出没有输出[DEBUG] test()... , '[%s] %s()...'后面的%是什么意思,输出结果中的None怎么来的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信