Python 2.6引入的str.format()
方法与现有%
运算符的语法略有不同。哪个更好,什么情况下适合?
以下使用每种方法并具有相同的结果,那么有什么区别?
#!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c # "with an arg!" print d # "with an arg!"
此外,何时在Python中进行字符串格式化?例如,如果我的日志记录级别设置为HIGH,那么执行以下
%
操作是否还会对我有所帮助?如果是这样,有办法避免这种情况吗?log.debug("some debug info: %s" % some_info)
format()
格式样式和较旧%
的格式样式的 Python 3文档。