Python3 - if __name__ == '__main__':
参考:Python - if name == ‘main ’: の意味
コマンドラインからスクリプトファイルを指定してPythonインタプリタを起動すると、指定されたファイルは、__main__という名前のモジュールとしてPythonに読み込まれる。実行中スクリプトのモジュールの名前は、__name__という名前の変数に設定されているため、この値を参照して、ファイルがコマンドラインから実行されたのか、それともimport文でインポートされたのかを識別できる。
name は、モジュール名で、コマンドラインから実行するとそのファイルのモジュール名は、main になる。importすると、そのファイルのモジュール名は、hoge.pyだったらhogeになる。(importするときもimport hoge.pyじゃなくて、import hogeとする)
コードサンプル test.py
import test2
def hoge(): test2.hoge2()
print(__name__)
if __name__ == '__main__': hoge()test2.py
def hoge2(): print(__name__)実行
$ python test.py結果
__main__test2