Python使用str.format添加前导零

but*_*tch 78 python string string-formatting python-2.7

你能用str.format函数显示带前导零的整数值吗?

输入示例:

"{0:some_format_specifying_width_3}".format(1)
"{0:some_format_specifying_width_3}".format(10)
"{0:some_format_specifying_width_3}".format(100)
Run Code Online (Sandbox Code Playgroud)

期望的输出:

"001"
"010"
"100"
Run Code Online (Sandbox Code Playgroud)

我知道,无论zfill%基于格式(如'%03d' % 5)可以做到这一点.但是,我想要一个解决方案,用于str.format保持我的代码干净和一致(我也使用datetime属性格式化字符串),并扩展我对格式规范迷你语言的了解.

And*_*ark 190

>>> "{0:0>3}".format(1)
'001'
>>> "{0:0>3}".format(10)
'010'
>>> "{0:0>3}".format(100)
'100'
Run Code Online (Sandbox Code Playgroud)

说明:

{0 : 0 > 3}
 ?   ? ? ?
 ?   ? ? ?? Width of 3
 ?   ? ?? Align Right
 ?   ?? Fill with '0'
 ?? Element index
Run Code Online (Sandbox Code Playgroud)

  • 完善!荣誉的解释:) (2认同)

msw*_*msw 24

派生自格式示例,在Python文档中嵌套示例:

>>> '{0:0{width}}'.format(5, width=3)
'005'
Run Code Online (Sandbox Code Playgroud)