【发布时间】:2013-06-09 12:41:04
【问题描述】:
我偶尔会使用 Python 字符串格式化。可以这样做:
print('int: %i. Float: %f. String: %s' % (54, 34.434, 'some text'))
但是,这也可以这样做:
print('int: %r. Float: %r. String: %r' % (54, 34.434, 'some text'))
以及使用 %s:
print('int: %s. Float: %s. String: %s' % (54, 34.434, 'some text'))
因此,我的问题是:为什么我会使用 %r 或 %s 以外的任何东西?其他选项(%i、%f 和 %s)对我来说似乎毫无用处,所以我只是想知道为什么每个人都会使用它们?
[编辑] 用 %s 添加示例
【问题讨论】:
-
您根本不应该使用
%字符串格式。它已被弃用,取而代之的是新的str.format()method;另见format string syntax。 -
例如,对于字符串值,结果是不同的。对于
s = 'hello\tworld',%r给出的内容包括引号字符。但是%s会给出类似hello world的东西。 -
@TimPietzcker 它已被弃用,但必须撤消,因为目前没有删除它的计划
-
@kramer65 我当然推荐新格式,我只是说它仍然受支持