Pythonの__main__
特別な名前 __main__
2つの用途
1.プログラムのトップレベル環境の名前。 __name__ == '__main__' という式でチェックすることができる。
2.Python パッケージにおける __main__.py ファイル。
__name__ == '__main__' (1)
「トップレベルのスクリプト環境」
インタラクティブプロンプトのスコープ
Python インタープリタにファイル引数として渡される Python モジュール
Python インタープリタにPython -m オプションとして渡される Python モジュールまたはパッケージ
標準入力から Python インタープリタが読み込む Python コード
Python インタープリタに -c オプションで渡される Python コード
__name__ をチェックすれば各モジュールは自分がトップレベル環境で実行されているかどうかを知ることができます
__name__ == '__main__' は「モジュールが import 文で初期化された場合以外の場合でのみコードを実行する」ために使われる
__main__.py in Python Packages (2)
__main__.py will be executed when the package itself is invoked directly from the command line using the -m flag.
See venv for an example of a package with a minimal __main__.py in the standard library.
It doesn't contain a if __name__ == '__main__' block.
IMO:そうか、__main__の中にはif __name__ == '__main__'は要らないのか