このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Python入門】format関数

format関数
format関数は、値を指定した書式に従って文字列に変換するための強力なツールです。これにより、数値や文字列を左右中央揃えにしたり、桁数や小数点以下の桁数、さらには千位区切りの記号を入れたりすることができます。プログラムの出力結果を見やすく整形するために、format関数は非常に役立ちます。
ここでは、format関数の基本的な使い方から、書式指定ミニ言語の主要な要素、そして具体的な応用例までを解説します。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
1.format関数の基本
1.1. 基本構文と動作
format関数は、以下の構文で値を整形し、結果の文字列を返します。
format(値, 書式指定)
たとえば、整数4567をデフォルトの書式で整形すると、以下のようになります。
# 整数4567をデフォルト書式で表示
result = format(4567)
print(result) # 出力: 4567
出力結果
4567
解説
この例では、format関数に値4567を渡し、特に書式指定をしていないため、そのまま文字列"4567"が返されます。
1.2. 書式指定ミニ言語の基本
format関数で利用できる書式指定ミニ言語には、値の揃え方や桁数、小数点以下の桁数、千位区切りなどさまざまな機能があります。以下の表は、左右中央揃えの指定方法をまとめたものです。
書式指定 | 寄せ方 |
---|---|
'10' | 数値は右寄せ、文字列は左寄せ |
'<10' | 左寄せ |
'>10' | 右寄せ |
'^10' | 中央寄せ |
例えば、整数4567に対して桁数10で右寄せ、左寄せ、中央寄せする例は以下の通りです。
print(format(4567, '10')) # 出力: ' 4567'(右寄せ)
print(format(4567, '<10')) # 出力: '4567 '(左寄せ)
print(format(4567, '^10')) # 出力: ' 4567 '(中央寄せ)
出力結果
4567
4567
4567
解説
- '10' と指定した場合、数値はデフォルトで右寄せとなります。
- '<10' は左寄せ、'^10' は中央寄せを意味し、指定した桁数分の空白で埋めて表示されます。
2.format関数の応用例
2.1. 浮動小数点数の整形
浮動小数点数を扱う場合、小数点以下の桁数を制御することがよくあります。書式指定には、全体桁数と小数点以下の桁数を指定することができます。
# 浮動小数点数1/7の値を整形する例
value = 1 / 7
print(format(value)) # 書式指定なし: '0.14285714285714285'
print(format(value, '.3f')) # 小数点以下3桁: '0.143'
print(format(value, '10.3f')) # 全体10桁、小数点以下3桁: ' 0.143'
出力結果
0.14285714285714285
0.143
0.143
解説
- 書式指定なしでは、浮動小数点数の全桁が表示されます。
- '.3f' と指定することで、小数点以下3桁に丸められ、固定小数点表記(fixed-point notation)となります。
- '10.3f' は、全体の幅を10桁とし、右寄せで表示します。
2.2. 千位区切りの整形
大きな数値を読みやすくするために、千位ごとにカンマやアンダースコアを入れる書式指定も利用できます。
number = 1234567890
print(format(number)) # 書式指定なし: '1234567890'
print(format(number, ',')) # カンマ区切り: '1,234,567,890'
print(format(number, '_')) # アンダースコア区切り: '1_234_567_890'
出力結果
1234567890
1,234,567,890
1_234_567_890
解説
- 書式指定なしでは数値はそのまま表示されます。
- ',' と指定すると、千位ごとにカンマが自動的に挿入され、数値が読みやすくなります。
- 同様に、'_' を指定すると、アンダースコアが区切り文字として使用されます。
まとめ
format関数を利用することで、数値や文字列の表示形式を細かく制御することができ、データを見やすく整形することが可能です。
- 基本構文は format(値, 書式指定) であり、書式指定ミニ言語を利用して、左右寄せや中央寄せ、桁数、小数点以下の桁数、千位区切りなどを簡単に指定できます。
- 応用例として、浮動小数点数の丸め処理や大きな数値の区切り処理など、さまざまな用途に対応できます。
これらのテクニックを活用することで、プログラムの出力がより整然とし、ユーザーにとっても理解しやすい結果を提供できるようになります。