f文字列:Pythonで文字列を自在に操る

Pythonで文字列の中に変数や式を埋め込むとき、どのようにしていますか?昔からある+演算子format()メソッドでも可能ですが、Python 3.6以降で導入されたf文字列(f-string)を使うと、より簡潔で直感的に書くことができます。


 

f文字列とは?

 

f文字列とは、文字列リテラルの先頭にfまたはFを付けることで、文字列内に直接変数や式を埋め込むことができる機能です。波括弧 {} で囲むだけで、その中の値が文字列に展開されます。


 

f文字列の基本的な使い方

 

f文字列の使い方は非常にシンプルです。

 

Python
 
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の式を書くことができます。

 

Python
 
price = 100
tax = 0.1

total_price = f"合計金額は{price * (1 + tax)}円です。"
print(total_price)
# 出力: 合計金額は110.0円です。

 

 

2. 書式の指定

 

数値の桁数や小数点以下の表示桁数など、書式を細かく指定できます。コロン : の後に書式指定子を記述します。

 

Python
 
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文字列を積極的に使ってみてください。あなたのコードがよりシンプルで、分かりやすいものになるはずです。