結論。自分の理解まとめ。
モジュールがimportされた時に、モジュール内の処理が実行されないように対策をするための条件分岐。
「import モジュール名」のようにインポートしたタイミングで、そのモジュールの処理が実行されます。
モジュールを直接実行した場合と、インポートした場合で動作を変えたい場合に、この構文が使われます。
直接実行のみOKで、インポートされて予期せぬ形で実行されたくないとか。
PYTHON
# module1のファイルだとして。
print("モジュール1")
if __name__ == '__main__':
print("ここは直接実行の場合のみ!")
PYTHON
# module2のファイルだとして。
import module2
print("モジュール2")
「python module2.py」で、モジュール2を直接実行すると、
>モジュール1
>モジュール2
と出力されるだけで、ifの中身は出力されません。
モジュール1を直接実行すると、
>モジュール1
>ここは直接実行の場合のみ!
>モジュール2
と出力されます。