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文字列の便利さを実感してみてください!
まとめ
今回の記事で紹介したPythonのf文字列(f-strings)は、変数や計算結果をそのまま文字列に埋め込めるとても便利な表記方法で、初心者から上級者まで幅広く使われている強力な仕組みです。文字列の前にfを付けるだけで、{ }の中に変数・式・関数結果を自然に書き込めるため、コード全体が読みやすくなり、処理の流れも直感的に理解しやすくなります。こうした特徴から、多くのPythonプログラムで利用され、フォーマット文字列を扱う場面でも頻繁に登場します。
特に、f文字列を使うことで、データの整形、計算式の埋め込み、辞書やリストの値の取り出し、日付の書式指定などが簡単に書けるようになる点は、実用的なプログラムを書くうえで大きな力になります。従来のformat()や%記法よりも見た目が読みやすく、記述量も少なく済むことから、コード全体の可読性が向上し、修正や管理も容易になります。
また、数値をゼロ埋めする、幅を指定する、小数点以下の桁数をそろえる、パーセント表示に変換するなどの細かなフォーマット指定もシンプルに記述できるため、画面表示やログ出力、データレポートの整形といった実務的な処理でも役に立ちます。Pythonで表形式のデータを扱うときや、計算結果を見やすく表示したい場面でも重宝されるでしょう。
さらに、初心者がつまずきやすい「変数を文字列に結合する書き方」の問題も、f文字列ならスッキリ解消できます。f文字列の読みやすさと柔軟性は、Pythonが多くの人に愛されている理由の一つでもあります。コードの中で複雑な加工を加えたいときでも、記述が簡潔になるため、初心者の段階から無理なく活用できる点も魅力です。
以下では、今回の内容を踏まえた応用的なサンプルをまとめとして掲載します。さまざまな書式を組み合わせ、辞書や計算式を含む実践的なf文字列の使い方になっています。
import datetime
user = {"name": "さくら", "score": 88}
today = datetime.date.today()
rate = user["score"] / 100
msg = (
f"【利用者情報】\n"
f"名前:{user['name']}\n"
f"得点:{user['score']}点(割合:{rate:.1%})\n"
f"日付:{today:%Y-%m-%d}\n"
f"整理番号:No.{user['score']:03}"
)
print(msg)
この例では、辞書から値を取り出しながら、パーセント表示・幅指定・ゼロ埋め・日付フォーマットなど、f文字列のさまざまな特徴を自然に組み込んでいます。こうした応用は、日報・集計結果・レポート生成などの実用的なプログラムでも頻繁に使われます。f文字列に慣れておくと、作業効率だけでなく、コードの品質向上にもつながります。 今後Pythonを使ってさまざまなプログラムを書いていくと、文字列フォーマットの重要性はますます高くなります。変数が増えるほどf文字列の強みが発揮され、複雑な出力形式でも簡潔に表現できるようになります。今回学んだ変数の埋め込み方法、計算式の表示、辞書やリストの取り扱い、書式指定などを組み合わせて、より自由度の高いコードを作れるようになるでしょう。 最後に、今回の学びをより確実にするために、生徒と先生の会話形式でも振り返りをまとめておきます。
生徒
「f文字列って想像以上に便利ですね!変数もそのまま書けるし、計算結果も入れられるし、すごく読みやすいと感じました。」
先生
「その通りだよ。コードが短くなるだけじゃなくて、文字列とデータのつながりが一目で分かるようになるのがf文字列の大きな特長なんだ。」
生徒
「辞書やリストの値も取り出してそのまま使えるのは驚きました。手間がかなり減りますね!」
先生
「うん。複雑なデータでも{ }の中に書くだけで書けるから、実務でもよく使われているよ。書式指定も覚えておくと見栄えのいい出力が作れるから便利なんだ。」
生徒
「ゼロ埋めや小数点の桁数指定もf文字列で書けるのは助かります。以前はformat()で書いていましたが、こっちの方が分かりやすいです。」
先生
「慣れてしまえばf文字列が自然と使えるようになるよ。これからもたくさん書いて、さらに自分のものにしていこうね。」