【Python】f-stringがとっても便利!デバッグにも使えるよ

python3.6からstr.formatの代わりに、もっと簡単に書けるf-stringが追加されたらしいけど、メリットや使い方を教えてー。

まずはstr.formatと比較して、どれくらい見やすいのかを見てみるぞ。

#str.formatの場合

a = 'うさぎ'
b = 'カメ'

print('先にゴールしたのは{}です。{}は寝ていました。'.format(a, b))

#output:先にゴールしたのはうさぎです。カメは寝ていました。
#f-stringの場合 (フォーマット済み文字列リテラルとも言うよ!)

a = 'うさぎ'
b = 'カメ'

print(f'先にゴールしたのは{a}です。{b}は寝ていました。')

#output:先にゴールしたのはうさぎです。カメは寝ていました。
f-stringは f'{ }’ という形で記述します。{ }の中に表示したい変数を書きます。

どさくさに紛れて史実ねじ曲げてるな。

そ、そんなことないよ。最近の研究でうさぎが勝った説があるんだよ(汗)
f-stringの方が{}の中に変数がそのまま入っているから直感的にわかる気がするね。

そうだな、str.formatよりもスッキリわかりやすく書けるな。
ちなみに書式指定もできるから、日付も以下のようにできるぞ

from datetime import datetime

one_day = datetime(2022, 1, 1)

print(f'{one_day = :%Y/%m/%d}') #変数 =の書き方はpython3.8以降で追加されたよ。それ以前だとエラーになるよ

#output: 2022/1/1

さらに、python3.8以降なら f'{変数名=}’とすると、その変数の値も出力されます。
デバッグに非常に便利ですね。

a = 10
b = 20

print(f'{a =},{b =}')

#output: a =10,b =20

今後はできる限りf-stirngを使っていこうかな!

タイトルとURLをコピーしました