if __name__ == '__main__':について理解する
pythonのサンプルコードによく出てくるこれ
if __name__ == '__main__':
色々調査してわかった事を整理する。(半分自己解釈)
- コマンドラインからスクリプトファイルを指定してPythonインタプリタを起動すると、指定されたファイルは、__main__という名前のモジュールとしてPythonに読み込まれる。実行中スクリプトのモジュールの名前は、__name__という名前の変数に設定されているため、直接スクリプトファイル実行した場合はこのif文がtrueとなる。
- なので、例えばimportされた状態のスクリプトでは、__name__という名前の変数にはモジュール名(test.pyというスクリプトをimport testでインポートした場合はtest)が入る
- __name__変数の値を見る事で、直接実行されてるのかimportされてるのかの判断が可能。
個人的には、javaで言うmainメソッドのようなもの。
って言うとしっくりくる。
以下のサイトが分かりやすかった。
azuuun-memorandum.hatenablog.com