【Python】レッスン1-05:フォーマット文字列を使いこなそう

記事内に商品プロモーションを含む場合があります

この記事で学べる知識:フォーマット文字列(f文字列)

この記事の練習問題で使用する知識:
入力と出力の基本コメントの書き方変数の宣言と代入基本データ型と算術演算子文字列の操作、フォーマット文字列乱数生成

<<前の問題 問題集Top 次の問題>>

Pythonの「フォーマット文字列(f文字列)」とは

ここではPythonにおける「フォーマット文字列(f文字列)」の意味や使い方を復習します。必要ない方はここをクリックして練習問題へ飛びましょう。



プログラミングにおいて、データをわかりやすく表示することは非常に重要です。そしてPythonのフォーマット文字列はデータを特定の形式で見やすく表示したいときに役立つ機能です。

初心者向けにPythonのフォーマット文字列の使い方をわかりやすく説明します。

置換フィールド(f-strings

Python 3.6以降で利用できるf文字列(f-strings)は、フォーマット文字列の最も簡単で強力な方法です。

文字列の中に直接変数を埋め込んで表示できるので、コードがシンプルになります。

name = "Alice"
age = 30
print(f"名前は{name}で、年齢は{age}歳です。")

このコードの出力は以下のようになります。

名前は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}です。")

このコードの出力は以下のようになります。

円周率は3.142です。

.3fは、小数点以下3桁まで表示するという指定です。

また、数値を整列させることも可能です。

for i in range(1, 6):
    print(f"番号: {i:02}")

このコードの出力は以下のようになります。

番号: 01
番号: 02
番号: 03
番号: 04
番号: 05

{i:02}は、2桁の数値として表示し、1桁の場合は先頭に0を追加するという意味です。

まとめ

Pythonはフォーマット文字列を使うことでデータを効率よく表示できます。

これらのフォーマット方法をマスターすることで、データをより自由に、そして見やすく表示できるようになります。

Python練習問題1-05:フォーマット文字列で出力しよう

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

この問題の要件

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

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

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

*****↓↓正解コードの実行結果の例↓↓*****

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

この問題を解くヒント

非常にシンプルな問題のため、ヒントはありません。

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



解答例と解説

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

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

# ユーザーから名前と年齢を入力してもらい、それをフォーマット文字列で表示するプログラム

# 名前を入力する
name = input("名前を入力してください: ")

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

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

正解コードの解説

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

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

<<前の問題 問題集Top 次の問題>>

この記事への質問・コメント

この記事を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    Python記事トップへ戻る
    トップページへ戻る