みなさんこんにちは、ZeroTerasu(@ZeroTerasu)です。
結論から申し上げると、__name__は、①Pythonモジュールとして実行される時 と ②Pythonモジュールとして読み込まれる時 でその挙動が変化することを利用して、①の時のみファイルが実行されるようにする仕組みを作るために利用されます。
test.pyというPythonモジュールを下記のように定義します。
# test.py
print(__name__)
このPythonモジュールを上述の①と②の2パターンでそれぞれどのような挙動をするか確認します。
上記の通り、①Pythonモジュールとして実行した場合、__name__は”__main__“として返されます。②Pythonモジュールとして読み込まれた場合、__name__は”モジュール名“として返されます。
これらのことから、if __name__ == “__main__”: とした場合、スクリプトとして実行されたときにだけファイルが実行されるための仕組みであることがご理解頂けるかと思います。
コメント