Day 1・変数・型・入出力(データの器)
f-stringで文字列を組み立てる
変数を文字列の中に埋め込んで読みやすく組み立てるf-stringの書き方を学ぶ。
変数を文章に埋め込みたい
「こんにちは、田中さん。あなたは30歳です」のように、変数の値を文章の中に混ぜたい場面は多いです。+ で文字列を連結する方法もありますが、読みにくく、型を変換する手間もかかります。
+ で連結
クォートと + が多く読みづらい。数値は str() 変換が必要
name = "田中"
age = 30
print("こんにちは、" + name + "さん。あなたは" + str(age) + "歳です")f-string
文章の形のまま変数を差し込める。変換も不要
name = "田中"
age = 30
print(f"こんにちは、{name}さん。あなたは{age}歳です")f-string の書き方
文字列の先頭に f をつけ、その中で {変数名} と書くと、その部分が変数の値に置き換わります。これをf-string(f文字列)と呼びます。数値でも自動で文字列として埋め込まれるので、str() 変換は不要です。
price = 100
count = 3
print(f"合計は {price * count} 円です")
# 合計は 300 円ですなぜ f-string を使うのか
文章の完成形を見たまま書けるので、読みやすく間違えにくいからです。+ による連結だとクォートや変換が増えて、閉じ忘れや型エラーを起こしやすくなります。現在のPythonでは f-string が標準的な書き方です。
よくある落とし穴
先頭の f を書き忘れると、{name} がそのまま文字として表示されます。また、波かっこ { } の中に書けるのは値や式です。文字列全体をクォートで正しく閉じることも忘れないようにします。
name = "田中"
print("こんにちは {name}") # f がないので {name} がそのまま表示される
print(f"こんにちは {name}") # f があるので 田中 に置き換わる- f"..." の中で {変数名} を書くと値に置き換わる
- { } の中には price * count のような式も書ける
- 数値でも自動で文字列に変換されるので str() は不要
AIにはこう聞く
「この + でつないだ文字列を f-string に書き換えて」と頼むと、読みやすい形に直してくれます。書き換え後のコードも、どこが変数に置き換わるのか自分で読めることを確認しておきます。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
name = "田中" のとき、田中 と表示されるのはどれですか。
price = 100 のとき print(f"合計は {price * 3} 円") の表示はどれですか。
文字列を + で連結する代わりに f-string を使う利点を説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。