Pythonの文字列フォーマット|f文字列・format・%演算子で出力を整える方法
この記事でわかること
- Pythonで文字列をきれいに整形する方法
- f文字列(f-strings)の使い方
format()メソッドで変数を埋め込む方法- 旧式の
%演算子によるフォーマット - 数値や文字列の整形、桁揃えや小数点指定の方法
f文字列(f-strings)
Python 3.6以降で使える一番便利な方法です
name = "太郎"
age = 20
print(f"名前は{name}、年齢は{age}歳です")出力:
名前は太郎、年齢は20歳です- 文字列の前に
fをつける {}の中に変数や計算式を書ける
width = 10
height = 5
print(f"面積は{width * height}です") # 面積は50です計算結果も直接埋め込めます
format() メソッド
古い方法ですが、Python 3でも使えます
name = "太郎"
age = 20
print("名前は{}、年齢は{}歳です".format(name, age)){}の順番に.format()の引数を入れます
番号を付けて順番を入れ替えることもできます
print("年齢は{1}歳、名前は{0}".format(name, age))%演算子によるフォーマット(旧式)
C言語風の書き方です
name = "太郎"
age = 20
print("名前は%s、年齢は%d歳です" % (name, age))%sは文字列、%dは整数- 古い書き方ですが、まだ一部で使われています
数値の整形
f文字列を使うと、桁揃えや小数点の指定も簡単です
pi = 3.141592
# 小数点以下2桁まで
print(f"円周率は{pi:.2f}") # 円周率は3.14
# 幅を指定して右寄せ
print(f"{pi:10.2f}") # 3.14(10文字幅):.2fで小数点以下2桁10.2fで幅10文字・小数点2桁
文字列の整形例
name = "太郎"
score = 95
# 左寄せ
print(f"{name:<10} {score}") # 太郎 95
# 右寄せ
print(f"{name:>10} {score}") # 太郎 95表形式で並べたいときに便利です
まとめ
- f文字列はPython 3.6以降の便利で直感的な方法です
format()メソッドも柔軟に使えます%演算子は旧式ですが覚えておくと互換性で便利です- 数値や文字列の整形、桁揃え、小数点指定も可能です
- データを見やすく表示したいときに欠かせないテクニックです
文字列フォーマットをマスターすると、出力の見た目もきれいに整えられて、プログラムの完成度がぐっと上がります