Pythonのf文字列(f‑strings)とは?フォーマット文字列を簡単に使う方法
生徒
「Pythonで変数の中身を文字に入れたいとき、簡単な方法がありますか?」
先生
「はい。f文字列
(f‑strings)を使えば、文字の中に変数や計算結果をそのまま入れることができますよ。」
生徒
「初心者でも簡単に使えるなら、ぜひ教えてください!」
先生
「では、基本から応用まで順番に学んでいきましょう!」
1. f文字列って何?
Pythonのf文字列(f‑strings)とは、文字列の前にf
をつけて、{}
の中に変数や計算式を直接書ける便利な機能です。文字列フォーマットが秀逸で読みやすいので、Python初心者にもおすすめです。
2. 基本の書き方:変数をそのまま入れる
まずは簡単な例です。
name = "たろう"
age = 20
msg = f"こんにちは、{name}さん。{age}歳ですね。"
print(msg)
実行結果:
こんにちは、たろうさん。20歳ですね。
文字列にf
をつけるだけで、{name}や{age}が自動で値に置き換わります。
3. 計算式や関数の結果も入れられる
{ } の中に直接計算や関数呼び出しもできます。
a = 5
b = 3
print(f"{a} + {b} = {a + b}")
print(f"丸めた結果は{round(3.14159, 2)}です")
実行結果:
5 + 3 = 8
丸めた結果は3.14です
直接使えるので、コードがスッキリします。
4. ゼロ埋めや幅指定などフォーマット指定
ゼロ埋めや少数桁、幅指定もf文字列で同時に使えます。書き方は{変数:書式}
です。
num = 7
pi = 3.14159
print(f"No.{num:03}") # 3桁ゼロ埋め
print(f"幅10で右寄せ:|{ 'Python':>10 }|")
print(f"少数2桁:{pi:.2f}")
実行結果:
No.007
幅10で右寄せ:| Python|
少数2桁:3.14
書式の意味:03
は3桁でゼロ埋め、.2f
は小数2桁表示です。
5. 辞書やリストの値を取り出して使う
辞書やリストを使った書き方も可能です。
data = {"name":"花子","score":95}
print(f"名前:{data['name']}、得点:{data['score']}")
vals = [1,2,3]
print(f"一覧:{vals[0]}, {vals[1]}, {vals[2]}")
実行結果:
名前:花子、得点:95
一覧:1, 2, 3
リストや辞書から値を呼び出すのもその場でOKです。
6. f文字列のメリットと注意点
f文字列は、コードが短く読みやすい、計算や書式指定も一度にできるなどのメリットがあります。フォーマット文字列初心者にも使いやすい方式です。
ただし、Python 3.6 以降の機能なので、それより古いバージョンでは使えません。古い環境ではformat()
や%記法
が必要になります。
7. 応用:日付や比率などの表示
日付やパーセント比率も書式指定で整えられます。
import datetime
today = datetime.date.today()
rate = 0.85
print(f"今日の日付:{today:%Y-%m-%d}")
print(f"進捗:{rate:.1%}")
実行結果:
今日の日付:2025-06-10
進捗:85.0%
%Y‑%m‑%d
は日付書式、.1%
はパーセント表示です。
8. format()との違い
古くから使われてきたformat()
より、f文字列は書きやすく可読性が高いです。初心者でも直感的に扱え、「フォーマット文字列」「f‑strings」「Python3.6」といったキーワードで検索エンジンにもヒットしやすいです。
9. まとめ的なおさらい
本記事ではf文字列(f‑strings)の使い方を紹介しました。以下がポイントです。
- 文字列の前に
f
をつける { }
の中に変数や計算式、関数呼び出しが使える- 書式指定でゼロ埋めや少数、幅指定ができる
- 辞書やリストの値もその場で表示可能
- Python3.6以降で使用できる便利機能
ぜひ、実際にパソコンでコードを書いて、f文字列の便利さを実感してみてください!