CHAPTER 1 · 20 LESSONS · 260 問

文法のきほん

値を表示する、計算する、名前をつける、条件で分ける。プログラムの土台になる書き方をひととおり。

プログラムというと、何か複雑なものを想像するかもしれない。でも中身をほどいていくと、やっていることは驚くほど少ない。値を扱い、名前をつけて覚えておき、状況によってやることを変える。この章で覚えるのは、その3つだけだよ。

最初にやるのは「画面に出す」こと。print と書いて、出したいものをカッコに渡す。それだけで文字も数字も表示できる。地味に見えるけれど、これは書いたコードが本当に動いたかを確かめる唯一の手段になる。この先ずっと使い続けるので、ここで手になじませておこう。

次が 値の種類 の話。Python では、文字を扱うときは "こんにちは" のように引用符で囲み、数を扱うときは 100 のようにそのまま書く。見た目が似ていても、"100"100 はコンピュータにとって別物だ。文字どうしを + でつなぐと連結になり、数どうしを + でつなぐと足し算になる。そして文字と数を + でつなごうとすると、Python はきっぱり断ってくる。ここは初学者が最初につまずくところだよ。

そして 変数。同じ値を何度も書くかわりに、名前をつけて置いておく。nedan = 150 と書けば、以後は nedan と書くだけでその値を呼び出せる。値を1か所で直せば全部に反映されるので、書き直しが一気に楽になる。名前のつけ方にもコツがあって、a より nedan のほうがいい。三日後の自分が読んで分かるかどうかが基準だよ。

章の途中で 字下げ(インデント) を独立して扱う。Python では行の先頭の空白が文法そのもので、他の多くの言語が波かっこ { } でやっていることを、Python は空白の深さでやっている。読みやすさのためにこう決まっているのだけれど、慣れるまではエラーの原因になる。ここだけは早めに、しっかり見ておこう。

章の後半は 条件分岐。ここでプログラムがはじめて「判断」を持つ。if を書いて、条件が成り立つときだけ中の処理を動かす。成り立たないときの処理は else、もう一段階の分岐は elif。条件そのものは >== といった比較で作り、andor で組み合わせる。記号ではなく英単語で書くのが Python らしいところだよ。

条件分岐でよくつまずくのが、=== の取りちがえ= は「右の値を左に入れる」で、== は「左と右が同じか」を尋ねる。まったく別の意味なので、書きまちがえると意図しない動きになる。この章で体に入れておこう。

この章を進めるときのコツをひとつ。エラーが出たら、まずそのまま読んでみること。英語だからと閉じてしまう人が多いけれど、書いてあることは意外と単純だ。NameError: name 'x' is not defined なら「x なんて知らない」、つまり変数を作る前に使っているか、名前を打ちまちがえている。エラーメッセージは敵ではなく、いちばん近くにいる先生だよ。

この教材では、エラーを Python が出したそのままの形で見せている。日本語に直したり、やさしく言いかえたりしていない。実際の開発で目にするのはこの形だから、早いうちから慣れておいてほしいからだよ。

ここまで終われば、「値を受け取って、条件で分けて、結果を出す」という形のプログラムが書けるようになる。まだ小さなプログラムだけれど、この形はどれだけ大きなアプリになっても変わらない。何万行のシステムでも、やっていることは値を受け取り、判断し、結果を出すことの積み重ねだよ。

なお、このコースは書いている途中で、レッスンは上から順に増えていく。用意できているところまでで止まっていても、それは行き止まりではなく工事中というだけだよ。

この章のレッスン

文字と数を表示する

  1. 01はじめてのPythonprint を使って、書いたものを画面に表示してみよう。 問題へ
  2. 02数と計算Pythonに計算をさせてみよう。数は文字とちがってクォートで囲まないよ。 問題へ
  3. 03割り算とあまり割り算には3つの記号がある。ぴったり割れても小数になる理由も見ていこう。 問題へ
  4. 04計算の順番かけ算が先、カッコがもっと先。思ったとおりに計算させるコツを覚えよう。 問題へ
  5. 05文字をつなぐ+ は数だけのものじゃない。文字にも使えるけれど、数と混ぜると怒られるよ。 問題へ
  6. 06コメントを書く# から先は実行されない。未来の自分のためのメモを残そう。 問題へ

値に名前をつける

  1. 07変数を作る値に名前をつけて、あとから何度でも呼び出せるようにしよう。 問題へ
  2. 08なぜ変数を使うのか変数がなくても動くのに、なぜ使うのか。直書きと見くらべて理由を確かめよう。 問題へ
  3. 09中身を書きかえる変数の中身はあとから変えられる。x = x + 1 が成り立つ理由も見ていこう。 問題へ
  4. 10省略して書くx = x + 1x += 1 と短く書ける。よく使う形なので覚えておこう。 問題へ
  5. 11文の中に値を埋めこむf"..." の中で {} を書けば、変数の中身がそこに入る。Pythonでいちばんよく使う書きかただよ。 問題へ
  6. 12値の種類を変える文字の "10" と数の 10 は別物。行き来するための道具を覚えよう。 問題へ

字下げのきまり

  1. 13字下げのきまりPythonでは行の先頭の空白に意味がある。ここを押さえておくと、この先つまずかないよ。 問題へ

条件で分ける

  1. 14条件で分けるif を書くと、プログラムがはじめて「判断」を持つようになるよ。 問題へ
  2. 15大きい・小さいを比べる比較の答えは TrueFalse。条件のしくみを中から見てみよう。 問題へ
  3. 16同じかどうかを調べる= は入れる、== は尋ねる。初学者がいちばん取りちがえるところだよ。 問題へ
  4. 17そうでないときの道else を書くと、条件が成り立たなかったときの処理を用意できるよ。 問題へ
  5. 18いくつにも分けるelif を並べれば、3つでも4つでも道を作れるよ。 問題へ
  6. 19条件を組み合わせるPythonでは && ではなく and。英語で読めるのがPythonらしいところだよ。 問題へ
  7. 20値が無いということNone は「何も無い」を表す値。条件に値をそのまま渡す書きかたも覚えよう。 問題へ

これがこのコースの最後の章。