1. りんごと120で「りんご 120円」になる
  2. 牛乳と198で「牛乳 198円」になる
  3. 金額が0でも同じ形で埋め込む
  4. 4桁の金額でもそのまま埋め込む
  5. 品名が空文字でも先頭に空白が1つ入るだけ
コース一覧
Python入門:基礎文法編
f-string

Python入門:基礎文法編

変数、条件分岐、ループ、関数、リスト・辞書、ファイル操作など Python の基礎文法を、ブラウザ上で毎レッスン実際にコードを書き、自分だけの「おこづかい帳アプリ」を育てながら学べる無料コースです。プログラミング完全未経験から始められ、環境構築や事前知識は一切不要です。約 18 時間 (1 日 30 分 × 37 日) で 74 レッスンを修了でき、修了後は入力・集計・ファイル保存まで備えたスクリプトを1から書けるようになります。

1
はじめての Python
01. printで表示15分
02. 文字列の連結15分
03. 四則演算15分
04. 実行順序15分
05. コメント15分
06. エラーを読んでみる15分
07. つくる:レシート表示15分
08. 第1章クイズ10分
2
変数とデータ型
01. 変数15分
02. typeで型を調べる15分
03. 数値への変換15分
04. 文字列への変換15分
05. boolとNone15分
06. f-string15分
07. 入力を受け取る15分
08. つくる:入力できるおこづかい帳15分
09. 第2章クイズ10分
3
演算子と式
01. 比較演算子15分
02. 論理演算子15分
03. in演算子15分
04. 剰余と切り捨て除算15分
05. 連鎖比較と優先順位15分
06. 三項演算子15分
07. つくる:予算チェック15分
08. 第3章クイズ10分
4
条件分岐
01. if文の基本15分
02. if / elif / else15分
03. 条件の組み合わせ15分
04. match文15分
05. 定番:FizzBuzz判定15分
06. デフォルト値とor15分
07. つくる:カテゴリ自動判定15分
08. 第4章クイズ10分
5
ループ
01. forで合計15分
02. whileで繰り返す15分
03. rangeとstep15分
04. breakとcontinue15分
05. enumerateで番号付け15分
06. zipで組み合わせ15分
07. 入れ子ループ15分
08. つくる:何件でも記録15分
09. 第5章クイズ10分
6
関数
01. 関数を定義する15分
02. 引数と戻り値15分
03. デフォルト引数15分
04. キーワード引数15分
05. 複数の戻り値15分
06. divmod15分
07. 変数のスコープ15分
08. lambda関数15分
09. つくる:関数に分割15分
10. 第6章クイズ10分
7
リストと辞書
01. リストの追加と削除15分
02. スライス15分
03. 辞書の基本15分
04. 辞書を走査15分
05. keyでソート15分
06. setで重複除去15分
07. リスト内包表記15分
08. タプルアンパック15分
09. つくる:カテゴリ別集計15分
10. 第7章クイズ10分
8
ファイルとエラー処理
01. ファイルを読み込む15分
02. ファイルに書き込む15分
03. withで安全に扱う15分
04. CSV形式で保存15分
05. try-exceptで備える15分
06. 例外の種類15分
07. つくる:保存機能15分
08. 第8章クイズ10分
9
総合制作
01. 全機能を統合しよう15分
02. 月間レポート機能15分
03. 自由拡張15分
04. 完成と次のステップ10分

f-string

f文字列の穴埋め

プラスとクオートと str が入り混じって読めない

前回の書き方は、動くのですが読みにくい形をしています。

Python

print("記録は " + str(count) + " 件です")

クオートが 4 つ、+ が 2 つ、str が 1 つ。できあがりがどんな文字列なのかを、頭の中で組み立て直さないと分かりません。半角スペースがどこに入るのかも " " を探さないと見えません。

Python にはもっと素直な書き方があります。f-string です。クオートの前に f を付け、埋め込みたい場所を波かっこ {} で囲みます。

Python

count = 3 print(f"記録は {count} 件です")

記録は 3 件です と出ます。かっこの外に書いた文字は、そのままの位置に残ります。できあがりの形がそのままコードに見えているのが、f-string のいちばんの価値です。読む人が頭の中で連結を組み立てなくて済みます。

str がいらなくなる

{} の中の値は、自動で文字列に変換されてから埋め込まれます。数値をそのまま書いても TypeError になりません。

中には式も書けます。かっこの中が先に計算され、その結果が埋め込まれます。

Python

budget = 3000 print(f"2 か月ぶんで {budget * 2}円")

2 か月ぶんで 6000円 と出ます。\n も f-string の中で改行として働くので、複数行の文字列もこの形で組み立てられます。

f を忘れると、静かに壊れる

先頭の f を書き忘れると、埋め込みは起きません。"{count} 件" は {count} 件 という文字そのものになります。エラーが出ないので気づきにくく、表示を見て初めて分かります。波かっこがそのまま出てきたら、まず f があるかを見てください。

波かっこの中の変数名にクオートは付けません。f"{'count'}" と書くと、変数の中身ではなく count という文字が入ります。

解説

+ での連結が悪いわけではありません。ただ、埋め込む値が 2 つ以上になったら f-string のほうが読みやすくなります。おこづかい帳では以降ずっとこちらを使います。

やってみよう

関数 receipt_line を実装してください。引数は品名 name と数値の金額 price の 2 つで、f-string を使って りんご 120円 の形の文字列を返します。

receipt_line("りんご", 120) なら りんご 120円、receipt_line("ノート", 0) なら ノート 0円 です。品名と金額の間は半角スペース 1 つ、末尾は 円 です。詰めて書くと りんご120円 になってしまうので、空白は自分で置いてください。

+ と str でも同じ結果は出せますが、ここでは f-string で書いてみてください。この 1 行は、このあとのおこづかい帳でずっと使い回す形になります。

要件

  1. 関数名は receipt_line で、引数は name と price の2つ
  2. f-string を使って値を埋め込む
  3. 品名と金額の間には半角スペースを1つだけ入れる
  4. 末尾に「円」を付けた文字列を return する

入出力例

receipt_line("りんご", 120) → "りんご 120円" receipt_line("牛乳", 198) → "牛乳 198円" receipt_line("ノート", 0) → "ノート 0円" receipt_line("チョコレートアイス", 1200) → "チョコレートアイス 1200円" receipt_line("", 50) → " 50円"

ヒント

クオートの前に f を付けると f-string になります

埋め込みたい変数は波かっこ {} で囲みます

return f"{name} {price}円" の1行で完成します

f-string の中では str を書かなくても数値が自動で文字列になります

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/05·更新 2026/08/26

関連レッスン

  • 入力を受け取る

    input が必ず文字列を返すことを学び、受け取った1本の文字列を品名と金額に分解する

  • つくる:入力できるおこづかい帳

    第2章の総仕上げ。品名と金額を受け取って3行のレシートを組み立てる make_receipt に作り替える

  • 第2章クイズ

    変数、型、int と str の変換、bool と None、f-string、input を5問で確認する

  • 比較演算子

    6種類の比較演算子と bool 型を学び、支出が予算を超えたかを判定する

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • f-stringf"..." で変数を埋め込む文字列記法
  • 変数データに名前をつけて参照する仕組み
  • 関数処理に名前を付けて再利用できる単位
  • 引数位置引数=順番で渡す。
main.py
学習モード
エディタを読み込んでいます

メモ

f-string

⌘S で保存