プログラミング初心者がアーキテクトっぽく語る

見苦しい記事も多数あるとは思いますが訂正しつつブログと共に成長していければと思います

f-stringの使い型

f-stringはPython 3.6から導入された文字列のフォーマットを制御する方法の1つです。

+で文字列リテラルと文字列変数を結合したり、str.format()を使うよりもコードがすっきりします。


基本

  • 文字列をf''で囲う
  • 変数と置き換えたいときは{変数名}とする
name = 'john'
f'Hello {name}'

折り返し

長い文字列を記述していると折り返したくなります。

そういうときはエディタで改行して行末に\(バックスラッシュ)を付けます。

long_message = f'\
                this is a very long message,\
                and it's followed by another long message.\
                                               {author}
            ’

{}を使いたいとき

JSON文字列を記述するときは{}(中括弧)を使います。

しかし中括弧はf-stringでは置換フィールドと解釈されます。その上、中括弧はバックスラッシュではエスケープできません。

f-stringでは中括弧を以下のように2重中括弧({{)でエスケープします。

json_str = f'{{\
                "sushi": "{sushi_recipe}",\
                "curry": "{curry_recipe}"\
            }}’

これで長いJSON文字列もすっきり書くことができます。