python 有关格式的文档与 运行 结果不匹配

The python documentation about format does not match the running results

python 文档中的一句话 Format Specification Mini-Language:

A general convention is that an empty format string ("") produces the same result as if you had called str() on the value.

但它与 python2 和 python3 的实际结果不匹配:

In [1]: "".format(100)
Out[1]: ''

In [2]: str(100)
Out[2]: '100'

您有一个空的模板,而不是一个空的格式字符串。格式字符串是 {..} 占位符中可选 : 之后的部分。通过完全省略占位符,没有地方可以放置值。

所以下面的值与 str() 相同:

>>> '{:}'.format(100)
'100'
>>> '{}'.format(100)
'100'

将空字符串作为 format() function 的第二个参数:

>>> format(100, '')
'100'

在所有情况下,格式字符串 都是空的。

您可能错过了整个 Format Specification Mini-language only documents what formatting operations you can use in the {:...} part of a placeholder, or as the second argument for format(). For template strings (the part you apply the str.format() method to), you need to read section above that, the Format String Syntax section