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

ながみえ
【Python学習記事のアイキャッチ画像】Lesson1-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副業)

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson1-4 文字列を操作しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson1-6 乱数を生成しよう

フォーマット文字列と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を使うことで、変数の値を簡潔に文字列へ埋め込み、より見やすく、意図に沿った出力を行えることを理解できたはずです。

これらを活用すれば、動的なメッセージの生成や、数値や日付を含む出力の整形がスムーズになり、実用的なプログラムを組み立てる力が一段と高まります。

基礎をしっかり身につけた今こそ、自信を持って次のステップに進む準備が整いました。これまでの積み重ねを力に変え、引き続き学習を進めていきましょう。

Q
サイト改善アンケート|ご意見をお聞かせください(1分で終わります)

本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。

1分だけ、ご協力いただけますと幸いです。

【Python】サイト改善アンケート
1.このサイトをどのように活用していますか?また、今後どのように活用したいですか?
5.気になっているサービス・商品があれば教えてください。
(複数選択可)
※ 特定の記事に関する内容の場合は、記事番号(Python Lesson〇-〇)をご記入願います。

練習問題:フォーマット文字列を使ってみよう

この記事で学習した「フォーマット文字列」を復習する練習問題に挑戦しましょう。

問題|入力情報を使った挨拶プログラムを作ろう

ユーザーから名前と年齢を入力してもらい、それをフォーマット文字列を使って表示するプログラムを作成しましょう。

以下の要件に従ってコードを完成させてください。

  • input 関数を使って、ユーザーから名前と年齢を入力してもらうこと。
  • 変数 name に名前、変数 age に年齢を代入すること。
  • f-stringを使って「こんにちは、○○さん。あなたは○○歳ですね。」という形式で表示すること。

ただし、以下のような実行結果となるコードを書くこと。

名前を入力してください: 佐藤
年齢を入力してください: 25
こんにちは、佐藤さん。あなたは25歳ですね。

解答例|入力情報を使った挨拶プログラムのコード

例えば以下のようなプログラムが考えられます。

Q
正解コード
# 名前を入力する
name = input("名前を入力してください: ")

# 年齢を入力する
age = input("年齢を入力してください: ")

# フォーマット文字列を使って、入力された名前と年齢を表示する
# ここでf-stringを使って、フォーマット文字列を活用しています
print(f"こんにちは、{name}さん。あなたは{age}歳ですね。")

解答例の解説|入力情報を使った挨拶プログラムの考え方

非常にシンプルなコードのため解説はありません。

難しいと感じる方は上記の解説を見返してみてください。

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいPython学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson1-4 文字列を操作しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson1-6 乱数を生成しよう

FAQ|フォーマット文字列に関する用語一覧

Q
Q1. f-stringとformat()はどう違うの?

f-stringはPython 3.6以降で使える新しい構文で、{}内に変数を直接書けて読みやすく、コードが簡潔になります。

Q
Q2. 小数点以下の桁数を指定したい時は?

f"{value:.2f}"のように書くと、小数点以下2桁で表示されます。他にも日付やゼロ埋めなど様々な整形が可能です。

Q
Q3. f-string内で計算式を使える?

はい、f"{a + b}" のように計算式も書けます。変数の中身を操作しながら表示できるのがf-stringの大きな利点です。

記事URLをコピーしました