文法のきほん

INPUT · スライド

文の中に値を埋めこむ

01 / 06

これまでのやりかたの不満

「あおいさんは18さいです」と表示したい。これまでの方法だとこう書くしかなかったよ。

```
print("あおいさんは", 18, "さいです")
```

でもこれ、カンマのところに勝手に空白が入る。「あおい さんは 18 さいです」になってしまうんだ。

namae = "あおい"print(namae, "さんは", 18, "さいです")

実行結果

あおい さんは 18 さいです

02 / 06

f文字列を使う

そこで f文字列。クォートの前に f をつけて、埋めこみたいところを { } で囲むよ。

文の形がそのまま見えるのが最大の利点。完成形を見ながら書けるので、空白の入れ忘れも起きにくいんだ。

namae = "あおい"print(f"{namae}さんは18さいです")

実行結果

あおいさんは18さいです

03 / 06

f を忘れると埋まらない

よくあるまちがいがこれ。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つの書きかたを見くらべる

同じ表示をする3つの書きかたを並べてみよう。

  • print(namae + "さん") … 数を混ぜられない
  • print(namae, "さん") … 勝手に空白が入る
  • print(f"{namae}さん") … 思ったとおりに出る

迷ったらf文字列。実際のPythonのコードでも、いまはこれがいちばんよく使われているよ。

namae = "あおい"print(f"{namae}さん、こんにちは")

実行結果

あおいさん、こんにちは