Zau*_*bov 24 python string string-formatting
我最终切换%到.format()2.x代码中的字符串格式化运算符,以便将来更容易迁移到3.x. 有一点令人惊讶的是,不仅%在Py3中保留了样式格式,而且它在标准库代码中被广泛使用.这似乎是合乎逻辑的,因为写作'(%s)' % variable有点短,也许比较容易理解'({})'.format(variable).但我仍有疑问.在代码中使用这两种方法是否合适(pythonic?)?谢谢.
Vla*_*lad 23
Python 3.2文档说,%最终会消失.
http://docs.python.org/3.2/tutorial/inputoutput.html#old-string-formatting
由于
str.format()很新,很多Python代码仍然使用%运算符.但是,由于这种旧式格式最终将从语言中删除,str.format()因此通常应该使用.
但正如@regilero所说,判决从3.3开始,这可能表明实际情况并非如此.有一些谈话这里暗示了同样的事情.
%运算符也可用于字符串格式化.它将左参数解释为类似于应用于右参数的sprintf()样式格式字符串,并返回由此格式化操作产生的字符串.
另请参见Python 3.4 4.7.2 printf-style字符串格式.