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」と記述して何もしないことを表明します。

Python