カテゴリ: Python 更新日: 2026/05/02

Pythonのf文字列(f‑strings)とは?フォーマット文字列を簡単に使う方法

Pythonのf文字列(f-strings)とは?フォーマット文字列を簡単に使う方法
Pythonのf文字列(f-strings)とは?フォーマット文字列を簡単に使う方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonで変数の中身を文字に入れたいとき、簡単な方法がありますか?」

先生

「はい。f文字列(f‑strings)を使えば、文字の中に変数や計算結果をそのまま入れることができますよ。」

生徒

「初心者でも簡単に使えるなら、ぜひ教えてください!」

先生

「では、基本から応用まで順番に学んでいきましょう!」

1. f文字列(f-strings)とは?初心者に選ばれる理由

1. f文字列(f-strings)とは?初心者に選ばれる理由
1. f文字列(f-strings)とは?初心者に選ばれる理由

Pythonのf文字列(正式名称:f-strings)は、Python 3.6から導入された「文字列の中に変数を埋め込む」ための最も新しく、推奨されている書き方です。プログラミング未経験の方でも直感的に理解できるシンプルさが最大の特徴です。

最大の手順はたったの2つ。文字列の先頭(ダブルクォーテーション " の前)に f を書き、埋め込みたい場所を { }(波括弧)で囲むだけです。従来の書き方よりもコードが短く、どこに何が表示されるのか一目で分かるため、読みやすさ(可読性)が劇的に向上します。

未経験者向けイメージ: 文章の中に「(ここに名前を入れる)」という穴埋め問題のパーツを直接作り、そこにデータを流し込む感覚でコードが書けます。

# 従来の面倒な書き方(一例)
name = "Python"
print("こんにちは、" + name + "の世界へ!")

# 最新のf文字列を使ったスッキリした書き方
print(f"こんにちは、{name}の世界へ!")

このように、プラス記号(+)で文字を繋ぐ手間がなくなり、記述ミスも減らせるため、現代のPython開発において必須のテクニックとなっています。

2. 基本の書き方:変数をそのまま入れる

2. 基本の書き方:変数をそのまま入れる
2. 基本の書き方:変数をそのまま入れる

Pythonのf-strings(エフストリングス)は、文字列の中に変数の値を直接埋め込める非常に便利な機能です。プログラミング未経験の方でも、直感的にコードが書けるようになります。

使い方はとてもシンプルで、文字列(引用符 " ")の先頭にアルファベットの f を付けるだけです。あとは、変数を波括弧 { } で囲んで記述すれば、実行時にその中身が自動的に展開されます。


# 変数に値を代入します
name = "たろう"
age = 20

# 文字列の先頭に「f」を置くのがポイントです
msg = f"こんにちは、{name}さん。{age}歳ですね。"

# 結果を表示します
print(msg)

実行結果:


こんにちは、たろうさん。20歳ですね。

これまでの古い書き方(%演算子や.formatメソッド)に比べて、「どこに何が入るのか」が一目でわかるのがf-stringsの最大のメリットです。コードの読みやすさ(可読性)が向上するため、チーム開発や未来の自分がコードを見返した際にも、バグを見つけやすくなるという利点があります。

初心者の方は、まずはこの「変数を { } で囲む」という基本形をマスターしましょう。これだけで、ユーザーの名前を挨拶に含めたり、計算結果をメッセージに組み込んだりと、動的なプログラムが簡単に作れるようになります。

3. f-string(f文字列)なら計算式や関数の結果も直接入れられる

3. f-string(f文字列)なら計算式や関数の結果も直接入れられる
3. f-string(f文字列)なら計算式や関数の結果も直接入れられる

f-stringの真骨頂は、{ }(波括弧)の中に変数を書くだけでなく、その場で計算を行ったり、Pythonの便利な関数を呼び出したりできる点にあります。

これまでは「計算した結果を一度別の変数に代入してから表示する」という手順が必要でしたが、f-stringを使えばコードを短く、かつ読みやすく記述できます。プログラミング未経験の方でも直感的に理解しやすい、実用的なサンプルを見てみましょう。


# 足し算の計算結果をそのまま表示
apple_price = 150
orange_price = 100
print(f"合計金額は {apple_price + orange_price} 円です")

# 関数(round関数:四捨五入)を組み合わせて使う
pi = 3.14159265
print(f"円周率を小数点第2位で丸めると {round(pi, 2)} です")

# 文字列の操作(upper関数:大文字に変換)も可能
name = "python"
print(f"学習中の言語は {name.upper()} です")

実行結果:


合計金額は 250 円です
円周率を小数点第2位で丸めると 3.14 です
学習中の言語は PYTHON です

このように、{ } の中でデータの加工まで完結できるため、一時的な変数を作る手間が省けます。特に、小数点以下の桁数調整や、簡単な合計値の算出が必要なシーンで非常に重宝するテクニックです。コードがスッキリすることで、後から見返した際も「何を表示しようとしているのか」が一目で分かるようになります。

4. ゼロ埋めや幅指定などフォーマット指定

4. ゼロ埋めや幅指定などフォーマット指定
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. 辞書やリストの値を取り出して使う

5. 辞書やリストの値を取り出して使う
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文字列のメリットと注意点

6. f文字列のメリットと注意点
6. f文字列のメリットと注意点

f文字列は、コードが短く読みやすい計算や書式指定も一度にできるなどのメリットがあります。フォーマット文字列初心者にも使いやすい方式です。

ただし、Python 3.6 以降の機能なので、それより古いバージョンでは使えません。古い環境ではformat()%記法が必要になります。

7. 応用:日付や比率などの表示

7. 応用:日付や比率などの表示
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()との違い

8. format()との違い
8. format()との違い

古くから使われてきたformat()より、f文字列は書きやすく可読性が高いです。初心者でも直感的に扱え、「フォーマット文字列」「f‑strings」「Python3.6」といったキーワードで検索エンジンにもヒットしやすいです。

9. ポイント整理

9. ポイント整理
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文字列が自然と使えるようになるよ。これからもたくさん書いて、さらに自分のものにしていこうね。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
New2
PHP
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
New3
PHP
PHPのメール送信でSPF・DKIM認証設定を完全解説!初心者でもわかるメール認証の基本
New4
Python
PythonでAPIのパフォーマンスを向上させる方法!キャッシュ活用を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.3
Java&Spring記事人気No3
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.5
Java&Spring記事人気No5
PHP
PHPのHTMLメールの作成方法を完全ガイド!初心者でもわかるメール送信の基本
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
Python
Pythonの例外を発生させる方法を完全解説!raise文の使い方を初心者向けにやさしく説明
No.8
Java&Spring記事人気No8
Python
Pythonで2次元リストを作成・操作する方法(リストのリスト)