01 / 06
これまでのやりかたの不満
「あおいさんは18さいです」と表示したい。これまでの方法だとこう書くしかなかったよ。
```
print("あおいさんは", 18, "さいです")
```
でもこれ、カンマのところに勝手に空白が入る。「あおい さんは 18 さいです」になってしまうんだ。
namae = "あおい"print(namae, "さんは", 18, "さいです")実行結果
あおい さんは 18 さいです
文法のきほん
INPUT · スライド
01 / 06
「あおいさんは18さいです」と表示したい。これまでの方法だとこう書くしかなかったよ。
```
print("あおいさんは", 18, "さいです")
```
でもこれ、カンマのところに勝手に空白が入る。「あおい さんは 18 さいです」になってしまうんだ。
namae = "あおい"print(namae, "さんは", 18, "さいです")実行結果
あおい さんは 18 さいです
02 / 06
そこで f文字列。クォートの前に f をつけて、埋めこみたいところを { } で囲むよ。
文の形がそのまま見えるのが最大の利点。完成形を見ながら書けるので、空白の入れ忘れも起きにくいんだ。
namae = "あおい"print(f"{namae}さんは18さいです")実行結果
あおいさんは18さいです
03 / 06
よくあるまちがいがこれ。f をつけ忘れると { } がそのまま表示されるよ。
エラーにならないので気づきにくい。{namae} と出てきたら、まずクォートの前を見よう。
namae = "あおい"print("{namae}さん")実行結果
{namae}さん04 / 06
{ } は1つの文の中にいくつ書いてもいい。数の変数もそのまま入れられるよ。
+ のときのように「文字と数は足せない」で怒られることがない。これもf文字列が好まれる理由だよ。
namae = "あおい"tosi = 18print(f"{namae}さんは{tosi}さいです")実行結果
あおいさんは18さいです
05 / 06
{ } の中には変数だけでなく式も書ける。中で計算した結果が埋めこまれるよ。
ただし詰めこみすぎると読みにくくなる。長い計算は先に変数にしておくほうが親切だよ。
tanka = 250kosuu = 4print(f"ごうけいは{tanka * kosuu}円です")実行結果
ごうけいは1000円です
06 / 06
同じ表示をする3つの書きかたを並べてみよう。
print(namae + "さん") … 数を混ぜられないprint(namae, "さん") … 勝手に空白が入るprint(f"{namae}さん") … 思ったとおりに出る迷ったらf文字列。実際のPythonのコードでも、いまはこれがいちばんよく使われているよ。
namae = "あおい"print(f"{namae}さん、こんにちは")実行結果
あおいさん、こんにちは