Pythonプログラムを解読しよう

 このプログラムの中身を見てみましょう(図29)。

図29●blink11.pyの中身

 まず目に付くのは「#」マークですが、「#」マークの後に記述されるものはコメントとして扱われます。コメントとして扱われるという意味は、それが「あってもなくても同じ」だという意味です。つまり、プログラムそのものはコメントを消してしまっても動きます*3

*3 コメントは無駄なように見えますが、後でプログラムを見直したときに、誰もが分かりやすいようにメモを残しておくという重要な役割を果たします。ところで、最初の行の「#!」だけは特殊でコメントではありません。これは「シェバング」と呼ばれるものです。LinuxなどのUNIX系OSではファイルの先頭が「#!」の場合、その後に記述されているコマンドを実行する仕組みになっています。

 コメントを除くと、プログラムは「import」という行以降の数行です。まず「import」の役割について説明します。もし誰かが既に作ってくれているプログラムで使えるものがあれば、それらを利用できると便利ですね。「import」は、既存のプログラムを取り込む(インポートする)というシナリオを可能にします。ここでは、「time」と「RPi.GPIO」という既存のプログラム(モジュール)を取り込んでいるので、後の行でこれらのプログラムを利用できるようになります。「import」は、以下のように複数の行に分けて記述しても構いません。

import time
import RPi.GPIO as GPIO

 ここで使われている「as GPIO」のように、「as …」という記述を利用すると、この行以降は「RPi.GPIO」と書く代わりに「GPIO」と書けるようになります。例えば、その次の行にあるように、本当は「RPi.GPIO.setmode()」と書くべきところを「GPIO.setmode()」と書けるのはこのおかげです。