目的

すごく今更&簡潔にだけど、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は最終結果が人の目で見てもわかりやすいですね。