Python 使用 str.format 添加前导零

能否使用 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)

期望输出:

"001"
"010"
"100"

我知道基于 zfill%的格式(例如 '%03d' % 5)都可以实现这一点。但是,我想要一个解决方案,使用 str.format,以保持我的代码清洁和一致(我也格式化字符串与日期时间属性) ,并扩大我的知识的 格式规格小型语言

61429 次浏览
>>> "{0:0>3}".format(1)
'001'
>>> "{0:0>3}".format(10)
'010'
>>> "{0:0>3}".format(100)
'100'

说明:

{0 : 0 > 3}
│   │ │ │
│   │ │ └─ Width of 3
│   │ └─ Align Right
│   └─ Fill with '0'
└─ Element index

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

>>> '{0:0{width}}'.format(5, width=3)
'005'