Python: if文で何もしない場合
if文を記述するときに 「ある条件の時には何もしない」ことがあります。 このような場合、 Pythonでは何もしないことを明示的に示す文として「pass」と記述します。
Pythonの言語仕様として、空のブロックは禁止されています。 条件分岐やループ処理などのブロックで、何の処理もしない場合は「pass」と記述しないと エラーになります。
例えば次のコードは「elif a == 1:」の場合の処理が書かれていないため、 空のブロックとなってしまい、エラーが発生します。
a = 0 if a == 0: print(True) elif a == 1: # 何もしない(空のブロックなのでエラー) else: print("ELSE")
実行結果
File "test.py", line 7 else: ^ IndentationError: expected an indented block
空のブロックとならないように、 「pass」と記述することで正常に実行できます。
a = 0 if a == 0: print(True) elif a == 1: # 何もしない pass else: print("ELSE")
何もしない場合の記述方法は、プログラミング言語によって異なります。 例えばJavaScriptであれば「;(空文)」を入れますし、 PowerShellでは何も記述しなくても大丈夫です。
Pythonは空のブロックが禁止されているため、 「pass」と記述して何もしないことを表明します。