[[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.
```
## 関連ノート
なし