Pythonには pass 文という「何もしない」文があります。教科書では p.67, Lesson4.1 の最後に「if文の入力」としてインタラクティブモードでの入力操作の「ついで」にチラッと紹介されるだけになっています。
この教材ではほぼ登場しませんが、オープンソースのコードを読んでいるとときどき出てくるので少し補足的に説明しておきます。
pass文は「何もしない」文です。つまりプログラム中に書いても何も仕事をせず、ただ「通り過ぎる」だけ、という機能を持ちます。
a = 100
pass
print(a)
上のように書いた場合、pass 文はあってもなくても結果は変わりません。なんなら複数行書いても同じ動きをします。
a = 100
pass
pass
pass
print(a)
たとえば次のように書くことで「 i が 3 の時は何も出力しない」といった動きを実現できます。
for i in range(5):
if i == 3:
pass
else:
print(i)
このコードから pass 文を取り除くと以下のようになりますが、これは正しく機能しません。
for i in range(5):
if i == 3:
else:
print(i)
実際にやってみると分かりますが、文法エラーと認識されて実行そのものが開始されません。Pythonインタプリタは以下のように解釈します。
これに対して、何でも良いから無害な実行文を置いて回避しているわけですね。
もちろん以下のように書き直すこともできます。
for i in range(5):
if i != 3:
print(i)
ただ、こんなに単純な論理であれば反転させても問題は無いでしょうが、ある程度複雑な論理を逆に書くと(ドモルガンの法則に則れば機械的に反転した記述が作れますよね?)直感的に判りにくくなる場合があります。
また、以下のように将来そこに実行コードが置かれるが現時点では特に空欄にしておきたい場合もあります。たとえばこんな格好でしょうか。
・・・・・
if temperature > 40: # 40度を超えたらメンテナンス処理を行う
psss # 冷却処理を行う(予定)
・・・・・
インデントを合わせてコメント分を書いたら良さそうなものですが、それでは一行も書かなかった時同様にエラーになります。
このように「ここに何かしらを置いておくことに意味がある」ような状況で置かれるもののことを「プレースホルダ (placeholder)」と呼びます。「場所取り」「仮決めとして置いておく」といった意味として一般的な英語表現の一つと思いますが、計算機系の用語としてもよく出てきます。
上のような「将来本物のコードが置かれるまでの代替物」としての使い方はまさにプレースホルダの典型ですね。覚えておくと良いです。