数字の 123 を表示したいとします。前面にさまざまな数のゼロが埋め込まれています。
たとえば、5 桁で表示したい場合は、数字 = 5 で次のようになります。
00123
6桁で表示したい場合は、数字= 6で次のようになります。
000123
Pythonでこれを行うにはどうすればよいですか?
数字の 123 を表示したいとします。前面にさまざまな数のゼロが埋め込まれています。
たとえば、5 桁で表示したい場合は、数字 = 5 で次のようになります。
00123
6桁で表示したい場合は、数字= 6で次のようになります。
000123
Pythonでこれを行うにはどうすればよいですか?
format()
古いスタイルの''%
フォーマットよりも優先される方法でフォーマットされた文字列で使用している場合
>>> 'One hundred and twenty three with three leading zeros {0:06}.'.format(123)
'One hundred and twenty three with three leading zeros 000123.'
http://docs.python.org/library/stdtypes.html#str.formathttp://docs.python.org/library/string.html#formatstringsを参照して
ください
これは可変幅の例です
>>> '{num:0{width}}'.format(num=123, width=6)
'000123'
塗りつぶし文字を変数として指定することもできます
>>> '{num:{fill}{width}}'.format(num=123, fill='0', width=6)
'000123'
zfill と呼ばれる文字列メソッドがあります。
>>> '12344'.zfill(10)
0000012344
文字列の長さを N (この場合は 10) にするために、文字列の左側をゼロで埋めます。
'%0*d' % (5, 123)
Python 3.6でフォーマットされた文字列リテラル(略して「f-strings」) が導入されたことで、以前に定義された変数に、より簡潔な構文でアクセスできるようになりました。
>>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
John La Rooy が示した例は、次のように記述できます。
In [1]: num=123
...: fill='0'
...: width=6
...: f'{num:{fill}{width}}'
Out[1]: '000123'
print "%03d" % (43)
プリント
043