>>> import math
>>> print "{} {!s} {!r}".format(math.pi, math.pi, math.pi)
3.14159265359 3.14159265359 3.141592653589793
!s
内的{}
何时有意义?
或换句话说,何时在str()
参数上调用format()
有意义?
答案 0 :(得分:2)
每当要打印的类型以不合适的方式实现__format__
时。在这种情况下,您可以使用!s
或!r
(我认为甚至有!a
)来指定备用格式化程序。
您当然不需要它来打印浮点数,但可能是自定义类型。