[[Python]] で文字列に変数を埋め込む場合、フォーマット済み文字列リテラル (f-strings) を使用する。 f-strings は Python 3.6 で導入された機能で、従来の C スタイルフォーマット (`%` 演算子) や `str.format()` と比較して、可読性が高く予期しない問題も発生しない。 ## 旧来の方法の問題点 ### C スタイルフォーマット (`%` 演算子) C スタイルフォーマットは、変数の型を指定する記号 (`%s`, `%d` など) を使用するため、可読性が低く、型の不一致によるエラーが発生しやすい。 ```python name = "Alice" age = 30 message = "My name is %s and I am %d years old." % (name, age) print(message) #> My name is Alice and I am 30 years old. ``` ### `str.format()` `str.format()` は型安全性が向上したが、記述が冗長で、変数名を繰り返し記述する必要がある。 ```python name = "Alice" age = 30 message = "My name is {name} and I am {age} years old.".format(name=name, age=age) print(message) #> My name is Alice and I am 30 years old. ``` ## f-strings の基本的な使い方 f-strings では、文字列の前に `f` を付け、波括弧 `{}` 内に直接変数名や式を記述できる。 ```python name = "Alice" age = 30 message = f"My name is {name} and I am {age} years old." print(message) #> My name is Alice and I am 30 years old. ``` ## 関連ノート なし