【Python】printで桁合わせ・ゼロ埋め・文字寄せする

PythonのTopに戻る


printで桁合わせ・ゼロ埋めする

・桁合わせ
・ゼロ埋め
・左寄せ・中央寄せ・右寄せ

 

 桁合わせ

例えば小数点以下1ケタで揃えて表示したい場合、Pythonでは次のようにする。

# coding: UTF-8
print("{0}さんの身長は{1:.1f}cm、体重は{2:.1f}kgです。".format("太郎", 178, 65.24))
# 太郎さんの身長は178.0cm、体重は65.2kgです。
小数点以下1ケタで揃える

このとき整数値 178 には「.0」が付記され、小数値 65.24 は小数点以下第2位が四捨五入されている。


小数点以下の桁数指定は以下のようにする。整数部分の桁数も制御したい場合はドットの前に桁数を指定する。

print("{:.1f}".format(3.141592))
# 3.1
print("{:.3f}".format(3.141592))
# 3.142
print("{:.5f}".format(3.141592))
# 3.14159
小数点以下の桁数指定

この数字は表示されるすべての数字の個数に相当していることに注意しよう(上記の場合では7桁分の出力になっている)。

指数表記を使う場合は以下。ここでは小文字のeを用いているが、大文字のEも使用可能である。

print("{:.1e}".format(0.01))
# 1.0e-02
print("{:.5e}".format(0.01))
# 1.00000e-02
指数表記の桁数指定

なお、文字列に対して指定した場合は使用される文字数が制御可能。

print("{:.2}".format("abcde"))
# ab
print("{:.5}".format("abcde"))
# abcde
文字列の長さを指定

 

 ゼロ埋め

桁数指定と同様だが、08のように先頭に0を書く。

print('zero padding: {:08}'.format(1234))
# zero padding: 00001234
ゼロ埋め

f文字列を使った場合は次のようになる。

i = 1234
print(f'zero padding: {i:08}')
# zero padding: 00001234
f文字列を使ったゼロ埋め

空白部分を任意の文字で埋めたい場合は、>の前に文字(1文字)を指定する。

print("{:*>20}".format("abcde"))
# ***************abcde
任意の文字で埋める

 

 左寄せ・中央寄せ・右寄せ

左寄せ・中央寄せ・右寄せはそれぞれ <、^、> で指定することができる。

s = 'abc'
print(f'right : {s: >11}')
print(f'center: {s: ^11}')
print(f'left  : {s: <11}')
# right :         abc
# center:     abc
# left  : abc
左寄せ・中央寄せ・右寄せ

PythonのTopに戻る