目的
すごく今更&簡潔にだけど、python3.6以降で利用できる文字列フォーマットについてまとめていきます。
(ずっとstr.format()
を使っていたので戒めも兼ねて)。
フォーマット済み文字列リテラルとは
フォーマット済み文字列リテラル(f-string)では、文字列の先頭にf
を付けることで、pythonの式を文字列内に{式}
の形で埋め込むことができます。
従来の書き方よりも簡潔、かつわかりやすく記述することができる書き方です。
使い方
変数に入った数字を3文字のカンマ区切りにする
hoge = 99999999
# 従来のstr.format()
print("{:,}".format(hoge))
# フォーマット済み文字列リテラル
print(f"{hoge:,d}")
:
の後ろに整数をつけて縦を揃える
tokuten = {"kokugo": 9, "sugaku": 81, "eigo": 100}
for sub, point in tokuten.items():
print(f'{sub:10} ==> {point:5d}')
# kokugo ==> 9
# sugaku ==> 81
# eigo ==> 100
まとめ
従来のstr.format()
と比べると、f-stringは最終結果が人の目で見てもわかりやすいですね。