全2986文字
PR

プログラミング言語のPythonは広く使われるようになり、始めてみたい人も多いはずだ。しかし、Pythonには初心者がつまずきやすいポイントがいくつかある。そうしたポイントを、新人プログラマーAさんの具体的な悩みを解決する形で解説していこう。

(イラスト:森マサコ)
(イラスト:森マサコ)
[画像のクリックで拡大表示]
エラーの原因はインデントに使うスペースの個数のせい?

 ぼくは新人プログラマー。今日から仕事でPythonを使うことになった。ネットで調べた知識を基に、プログラムを書いてみようと思う。

 まず知ったのは、Pythonでは「インデント」が重要らしいということ。インデントとは字下げのことだ。早速、インデントを意識して図1のプログラムを書いてみた。

図1 インデントを意識したPythonプログラム
図1 インデントを意識したPythonプログラム
[画像のクリックで拡大表示]

 1行目の「def func():」は、funcという名前の関数を定義する構文だ。この構文には、文末に「:」(コロン)がついている。Pythonでは、if文やfor文の文末にもコロンをつけるみたいだね。このコロンがついた文の次行をインデントするってことを、この前覚えたんだ。だから2~4行目の演算式をインデントしてみた。

 2行目で変数aに1を、3行目で変数bに2を代入している。

 4行目では変数a(=1)と変数b(=2)を足した値を変数cに代入している。つまり、変数cには「3」が入っていることになるね。

 ここで演算の処理は終わりだから、なんとなく、インデントも4行目までにしてみたよ。

 5行目では、変数cの値をprint文で表示している。

 7行目は、1~5行目までで定義した関数funcを呼び出している処理だ。

 このプログラムを実行すると、コマンドプロンプトには「3」と表示されるはず。ところが、エラーになってしまった。なぜだろう。

 あ、よく見ると2~4行目のインデントが、スペース2個分の字下げになってしまっている。そういえば、Pythonのインデントは必ずスペース4個分にしなければいけないんだっけ。これがエラーの原因なのかなぁ。