【Python】pass文について

python_logo

今回はpythonのpass文についてまとめています。

これは実際のコードよりもチュートリアルの本でよく見る気がしますね。

先に結論から言うと、 用法としては以下の2点になると思います。

pass文の用法

  1. 処理を後で記述するために
  2. 条件判定式で書くべき処理がない

それではみてきましょう!

pass文の用法

pass文はプレースホルダーとしての役割があります。

複合文はヘッダー部とボディ部から構成されます。このヘッダー部とボディ部は必ず必要になります。

ボディ部を書かないとPythonの構文上、エラーになってしまいます。


>>> def function(arg1, arg2):
... 
  File "", line 2
    
    ^
IndentationError: expected an indented block

IndentationErrorとなっていますね。
内容は、「インデントされたブロックを想定しています」となります。つまり、インデントしてボディ部を構成してくださいというわけです。

処理を後で記述するために

pass文はこのsyntax errorにならないよう、とりあえず場所をとっておいてくれます。


>>> def function(arg1, arg2):
...   pass
... 
>>> 

基本的にはプレースホルダーの役割として、Pythonの構文エラーにならないように入れます。モックを書いている場合でも明示的に飛ばしていることをPythonに知らせる必要があります。

条件式で書く処理がない場合

複雑な条件で当てはまったら処理をしない場合にも同様に使えます。

これはサンプルコードとしてはこんな感じでしょうか。

>>> import random
>>> X = random.random()
>>> if X < 0.3:
...   pass
... elif 0.3 <= X < 0.5:
...   print('middle value')
... else:
...   print('big value')
... 
big value

これは簡単な例として、0.3未満の値だったら何も表示したくない場合に、passを用いています。

まとめ

いかがでしょうか。おそらくそんなに難しくなかったと思います。

Pythonは明示的に書くほうが好ましいとされます。

その考えで言えば、処理を書かないことを明示するのは言語として望ましいのではないでしょうか。

間違いも分かりやすいですしね。

それでは今回は以上になります。

みなさんのPythonライフが向上するように祈っています!