好吧,我总是在 python 上使用 %r,但我不知道什么时候必须使用这些其他格式......
问问题
58525 次
2 回答
16
这在Python 文档中进行了解释。简而言之,
%d
将格式化一个数字以供显示。%s
将插入对象的表示字符串表示(即str(o)
)%r
将插入对象的规范字符串表示(即repr(o)
)
如果您正在格式化整数,那么这些是等效的。对于大多数对象,情况并非如此。
于 2013-03-02T03:36:08.020 回答
11
这是一个补充詹姆斯亨斯特里奇答案的例子:
class Cheese(float):
def __str__(self):
return 'Muenster'
def __repr__(self):
return 'Stilton'
chunk = Cheese(-123.4)
print(str(chunk))
# Muenster
print(repr(chunk))
# Stilton
print(int(chunk))
# -123
print('%s\t%r\t%d'%(chunk, chunk, chunk))
# Muenster Stilton -123
于 2013-03-02T03:39:49.527 回答