Pythonで文字列の中に変数や式を埋め込むとき、どのようにしていますか?昔からある+演算子やformat()メソッドでも可能ですが、Python 3.6以降で導入されたf文字列(f-string)を使うと、より簡潔で直感的に書くことができます。
f文字列とは?
f文字列とは、文字列リテラルの先頭にfまたはFを付けることで、文字列内に直接変数や式を埋め込むことができる機能です。波括弧 {} で囲むだけで、その中の値が文字列に展開されます。
f文字列の基本的な使い方
f文字列の使い方は非常にシンプルです。
name = "アリス"
age = 25
# f文字列を使わない場合
message_old = "私の名前は" + name + "です。年齢は" + str(age) + "歳です。"
print(message_old)
# f文字列を使う場合
message_fstring = f"私の名前は{name}です。年齢は{age}歳です。"
print(message_fstring)
この例からもわかるように、f文字列を使うと、+演算子での連結やstr()での型変換が不要になり、コードが格段に読みやすくなります。
f文字列の便利な機能
f文字列の魅力は、単に変数を埋め込むだけではありません。以下のような高度な機能も持っています。
1. 式の埋め込み
波括弧の中には、変数だけでなく、計算式や関数の呼び出しなど、任意のPythonの式を書くことができます。
price = 100
tax = 0.1
total_price = f"合計金額は{price * (1 + tax)}円です。"
print(total_price)
# 出力: 合計金額は110.0円です。
2. 書式の指定
数値の桁数や小数点以下の表示桁数など、書式を細かく指定できます。コロン : の後に書式指定子を記述します。
pi = 3.14159265
# 小数点以下2桁まで表示
pi_formatted = f"円周率は{pi:.2f}です。"
print(pi_formatted)
# 出力: 円周率は3.14です。
# 3桁区切りで表示
number = 1000000
formatted_number = f"人口は{number:,}人です。"
print(formatted_number)
# 出力: 人口は1,000,000人です。
まとめ:なぜf文字列を使うべきなのか?
f文字列は、Pythonの文字列操作において、もはやデファクトスタンダードと言えます。
-
高い可読性:文字列のテンプレートと、埋め込まれる値が明確に区別されます。
-
簡潔な構文:余分な記号や関数呼び出しが不要です。
-
高速な処理:他の文字列フォーマット方法に比べて、一般的に処理速度が速いです。
これからPythonで文字列を扱う際は、ぜひf文字列を積極的に使ってみてください。あなたのコードがよりシンプルで、分かりやすいものになるはずです。