GrammarPrPython

【Python】フォーマット済み文字列リテラル(f-string)の使い方

本記事では、Python3.6以降に追加されたフォーマット済み文字列リテラル(短くしてf-stringとも呼びます)の基本的な形式、便利な機能などを紹介します。Python 2.7や3.5など、以前のバージョンでは、str.format()を使う必要があります。

スポンサーリンク

f-stringとは

文字列の頭にfFを付け、式を{}の間に書くことで、変数を参照することができます。
ここでいう式とは、値を1つ返すものになります。

str.format()よりスッキリ書けるというメリットがあります。

str.format()で書いた場合

スポンサーリンク

便利な機能を紹介

f-stringには、式展開や文字幅の指定など、便利な機能があるので一部を紹介します。
詳しくは公式ドキュメントをご確認ください。

式展開

中括弧内に変数だけでなく式も指定できます。

小数の丸め

fが小数、.2が小数2桁を表します。

文字幅の指定

nで最小の文字幅を指定することができます。dは10進数を表しています。

文字幅がnを超える場合、切り詰めるようなことはしません。

!s!r!a

str() 、repr()、ascii()を適用することができます。
‘!s’ が str() 、 ‘!r’ が repr()、’!a’ が ascii() を表しています。

  • str():人間に読める表現を返す
  • repr():インタープリタに読める表現を返す
  • ascii():非ASCII文字をUnicodeエスケープする

フォーマット前に適用されるので注意してください。

スポンサーリンク

python3.12の変更点

python3.12が2023年10月2日にリリースされました。
これにより、f-stringの制限がいくつか解除されています。

引用符の再利用が可能に

f-stringの囲みに使ったクォーテーション記号を{}内でも使えるようになりました。
python3.11以前のバージョンではSyntaxErrorになります。

joinメソッドに関して詳しく知りたい方はこちら

また、これによって任意の数のf-stringをネストできるようになりました。

改行と\が使用可能に

python3.12では改行と\が使えるようになりました。\が使えることにより、エスケープシーケンスを含めることができます。

スポンサーリンク

まとめ

f-stringは書き方がシンプルでオプションが豊富にある高機能な文字列フォーマットです。Pythonコードの可読性向上に活用しましょう。

PC・タブレットで学習したい方はAmazonのKindle Unlimitedを利用するのがオススメ!!

\まずは無料で30日間お試し!!(無料期間中に解約可)/

勉強方法にお困りの方はこちらの記事もご参考にしてください。

コメント

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