5

这是一个有效的 python 格式字符串:

>>> wierd_format = '[%27he]'
>>> print wierd_format % 2.5
[        2.500000e+00]

但这不是:

>>> bad_format = '[%20qe]'
>>> print bad_format % 2.5
Traceback (most recent call last):
  File "prog.py", line 5, in <module>
    print bad_format % 2.5
ValueError: unsupported format character 'q' (0x71) at index 4

显然,h是受支持的格式字符。但是,文档没有提到h说明符。它有什么作用?

4

2 回答 2

4

从文档:

可能存在长度修饰符(h、、l或),但被忽略,因为它对于 Python 不是必需的——因此 eg与.L%ld%d

于 2013-08-11T17:47:36.137 回答
3

Python Docs说它是一个长度修饰符。

可能存在长度修饰符(h、l 或 L),但被忽略,因为它对于 Python 不是必需的。所以例如 %ld 与 %d 相同。

他们看起来一样,

>>> "[%he]" %2.5
'[2.500000e+00]'
>>> "[%le]" %2.5
'[2.500000e+00]'
>>> "[%Le]" %2.5
'[2.500000e+00]'
于 2013-08-11T17:47:54.897 回答