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
を使用するソリューション(datetime属性を使用して文字列をフォーマットすることも)と Format Specification Mini -Language 。
>>> "{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 docs:の フォーマットの例、ネストの例 から派生
>>> '{0:0{width}}'.format(5, width=3)
'005'