【Python】レッスン1-5:フォーマット文字列を理解しよう

一つ前のLessonでは文字列操作について学習しました。
今回はフォーマット文字列について見ていきます。
Lesson1:基礎文法編
・Lesson1-1:Pythonの入り口|初めてコードを書いてみよう
・Lesson1-2:変数の基本を理解しよう
・Lesson1-3:四則演算をしよう
・Lesson1-4:文字列を操作しよう
・Lesson1-5:フォーマット文字列を使いこなそう ◁今回はココ
・Lesson1-6:乱数を生成しよう
・練習問題1-1:レッスン1の内容を総復習しよう
Lesson2:制御構造編
Lesson3:関数とスコープ編
Lesson4:データ構造編
Lesson5:オブジェクト指向編
次のステップ:Python基礎習得者にお勧めの道5選(実務or副業)
フォーマット文字列とf-stringの基本
文字列を扱う際には、変数の値を文章の中に埋め込んだり、数値を見やすい形に整形したりすることがよくあります。
そのときに役立つのが「フォーマット文字列」です。
特にPython 3.6以降で導入された f-string は、シンプルで読みやすく、効率的に文字列を整形できる方法として広く利用されています。
これは学習者が「見やすいプログラムを書きたい」「変数の値をそのまま文章に組み込みたい」といったニーズに応える重要なスキルです。
それでは、f-stringを中心にフォーマット文字列の仕組みと使い方を詳しく見ていきましょう。
フォーマット文字列(f-string)とは
Python 3.6以降で利用できる f-strings は、フォーマット文字列の最も簡単で強力な方法です。
文字列の先頭に「f」をつけることで、文字列の中に直接変数を埋め込むことができるようになりコードがシンプルになります。
name = "Alice" age = 30 print(f"名前は{name}で、年齢は{age}歳です。") # f文字列を使って、文字列内に変数を埋め込む
このコードの出力は以下のようになります。
名前はAliceで、年齢は30歳です。
このように、fの後に続く文字列の中で、{}
の中に変数名を入れることで、その値が自動的に表示されます。
変数だけでなく、計算式や関数の結果も埋め込むことが可能です。
num1 = 10 num2 = 5 print(f"{num1} + {num2} = {num1 + num2}")
この例では、{num1 + num2}
が計算されて出力されます。
10 + 5 = 15
フォーマット指定子とは|出力形式を整える方法
フォーマット文字列では、値の表示形式を指定できます。
例えば小数点以下の桁数を指定したり、数値を整列させたりすることができます。
pi = 3.14159 print(f"円周率は{pi:.3f}です。") # 「:.3f」を付けることで、変数piの小数点以下3桁までと指定
このコードの出力は以下のようになります。
円周率は3.142です。
.3f
は、小数点以下3桁まで表示するという指定です。
また、数値を整列させるには、以下のように書きます。
i1 = 1 i2 = 2 i3 = 3 i4 = 14 i5 = 0.5 print(f"番号: {i1:02}") # 2桁の数値として表示し、1桁の場合は先頭に0を追加する print(f"番号: {i2:02}") print(f"番号: {i3:02}") print(f"番号: {i4:02}") print(f"番号: {i5:02}")
このコードの出力は以下のようになります。
番号: 01 番号: 02 番号: 03 番号: 14 番号: 0.5
{i:02}
は、2桁の数値として表示し、1桁の場合は先頭に0
を追加するという意味です。
まとめ|フォーマット文字列を使いこなそう
今回の学習では、フォーマット文字列(f-string)の仕組みと、出力内容を整形するために使われるフォーマット指定子について確認しました。
f-stringを使うことで、変数の値を簡潔に文字列へ埋め込み、より見やすく、意図に沿った出力を行えることを理解できたはずです。
これらを活用すれば、動的なメッセージの生成や、数値や日付を含む出力の整形がスムーズになり、実用的なプログラムを組み立てる力が一段と高まります。
基礎をしっかり身につけた今こそ、自信を持って次のステップに進む準備が整いました。これまでの積み重ねを力に変え、引き続き学習を進めていきましょう。
- サイト改善アンケート|ご意見をお聞かせください(1分で終わります)
-
本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。1分だけ、ご協力いただけますと幸いです。
【Python】サイト改善アンケート
練習問題:フォーマット文字列を使ってみよう
この記事で学習した「フォーマット文字列」を復習する練習問題に挑戦しましょう。
問題|入力情報を使った挨拶プログラムを作ろう
ユーザーから名前と年齢を入力してもらい、それをフォーマット文字列を使って表示するプログラムを作成しましょう。
以下の要件に従ってコードを完成させてください。
input
関数を使って、ユーザーから名前と年齢を入力してもらうこと。- 変数
name
に名前、変数age
に年齢を代入すること。 - f-stringを使って「こんにちは、○○さん。あなたは○○歳ですね。」という形式で表示すること。
ただし、以下のような実行結果となるコードを書くこと。
名前を入力してください: 佐藤 年齢を入力してください: 25 こんにちは、佐藤さん。あなたは25歳ですね。
解答例|入力情報を使った挨拶プログラムのコード
例えば以下のようなプログラムが考えられます。
- 正解コード
-
# 名前を入力する name = input("名前を入力してください: ") # 年齢を入力する age = input("年齢を入力してください: ") # フォーマット文字列を使って、入力された名前と年齢を表示する # ここでf-stringを使って、フォーマット文字列を活用しています print(f"こんにちは、{name}さん。あなたは{age}歳ですね。")
解答例の解説|入力情報を使った挨拶プログラムの考え方
非常にシンプルなコードのため解説はありません。
難しいと感じる方は上記の解説を見返してみてください。
FAQ|フォーマット文字列に関する用語一覧
- Q1. f-stringと
format()
はどう違うの? -
f-stringはPython 3.6以降で使える新しい構文で、
{}
内に変数を直接書けて読みやすく、コードが簡潔になります。
- Q2. 小数点以下の桁数を指定したい時は?
-
f"{value:.2f}"
のように書くと、小数点以下2桁で表示されます。他にも日付やゼロ埋めなど様々な整形が可能です。
- Q3. f-string内で計算式を使える?
-
はい、
f"{a + b}"
のように計算式も書けます。変数の中身を操作しながら表示できるのがf-stringの大きな利点です。