我找到了一个错误,错误提示:
的格式不正确。
但是我还不了解这种行为。为什么第二行会生成两个pi(错误的第二值),但格式正确,而不是引发异常?
import math
data = math.pi, math.e
print 'pi={:0.2f}, e={:0.4f}'.format(*data)
print 'pi={0:.2f}, e={0:.4f} wrong!'.format(*data) # wrong!
给予
pi=3.14, e=2.7183
pi=3.14, e=3.1416 wrong!
答案 0 :(得分:1)
冒号前的数字是参数的索引,因此在您的第二个print
和{0:.2f}
中,都将打印索引0的相同参数,即{{1 }}。
{0:.4f}
请注意math.pi
之前的replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"
field_name ::= arg_name ("." attribute_name | "[" element_index "]")*
,它可以是元素索引。