这是一个有效的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
是受支持的格式字符。但是,documentation未提及h
说明符。它做了什么?
答案 0 :(得分:4)
来自文档:
长度修饰符(
h
,l
或L
)可能存在,但会被忽略,因为它不是必需的 - 例如,%ld
与%d
相同。
答案 1 :(得分: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]'