Pythonで数値を文字列としてフォーマットする方法を解説
Pythonでは、文字列のformatメソッドを使うことで、浮動小数点数を固定幅で整形したり、整数を見やすい形式に整えたりすることができます。この記事では、数値フォーマットの基本的な使い方を実例とともに紹介します。
浮動小数点数を固定幅でフォーマットする
書式指定子 {:10.4f} を使うと、全体の幅を10桁、小数点以下を4桁に揃えて表示できます。
コード例
nums = [0.555555555555, 1, 12.0542184, 5589.6654753]
for x in nums:
print("{:10.4f}".format(x))
出力結果
0.5556 1.0000 12.0542 5589.6655
このように、小数点以下がすべて4桁に統一され、桁数の異なる数値でも見やすく整形されます。なお、f の前の数字(ここでは .4f)で小数点以下の桁数を、その前の数字(ここでは 10)で全体の最小幅を指定します。
整数をフォーマットする
同じformatメソッドを使って、整数も簡単にフォーマットできます。整数の場合は書式指定子に d を使用します。
コード例
nums = [5, 20, 500]
for x in nums:
print("{:d}".format(x))
出力結果
5 20 500
パディング(余白埋め)を指定する
d の前に数字を指定すると、その桁数分の幅を確保して右詰めで表示できます。表形式の出力などで桁を揃えたい場合に便利です。
コード例
nums = [5, 20, 500]
for x in nums:
print("{:4d}".format(x))
出力結果
5 20 500
この例では幅を4桁に指定しているため、数値が右詰めで表示され、先頭にスペースが挿入されます。左詰めにしたい場合は {:<4d}、ゼロ埋めしたい場合は {:04d} のように指定することも可能です。
まとめ
str.format() メソッドを使えば、浮動小数点数や整数を柔軟に文字列へ整形できます。さらに詳しい書式指定の方法(パーセント表示、指数表記、配置指定など)については、pyformat.info というサイトが非常に参考になります。Pythonにおける数値フォーマットのさまざまなテクニックを網羅的に学べるので、ぜひ活用してみてください。
-
Python 3で辞書を使って文字列をフォーマットする方法
Pythonでは、辞書(dict)を活用して文字列への値の埋め込み(補間)を行うことができます。この構文では、%と変換文字の間の括弧内に、辞書のキー名を指定します。例えば、キーcostに格納された浮動小数点数を$xxxx.xxの形式で表示したい場合は、表示したい位置に$%(cost).2fと記述します。辞書を使った文字列フォーマットの基本例以下は、辞書を使った文字列フォーマットで、文字列と数値を同時に補間・整形する例です。>>> print(%(language)s has %(number)03d quote types. % {language: Python, numb
-
Pythonで文字列と数値を連結する方法をわかりやすく解説
Pythonで文字列と数値を連結する基本の方法Pythonでは、文字列と数値をそのまま + 演算子で結合することはできません。連結するには、str() 関数を使って数値を文字列型に変換する必要があります。以下は基本的な例です。>>> a = string >>> b = 1 >>> print(a + str(b)) string1このように str(b) によって数値 1 が文字列 1 に変換され、文字列同士として正しく連結されます。Python 2で使えたバッククォート記法についてPython 2では、数値をバッククォート(`)で囲むこ