「if __name__==”__main__”:」のメモ書き【Python】

目次

結論。自分の理解まとめ。

モジュールがimportされた時に、モジュール内の処理が実行されないように対策をするための条件分岐。

「import モジュール名」のようにインポートしたタイミングで、そのモジュールの処理が実行されます。
モジュールを直接実行した場合と、インポートした場合で動作を変えたい場合に、この構文が使われます。
直接実行のみOKで、インポートされて予期せぬ形で実行されたくないとか。

PYTHONCOPY
# module1のファイルだとして。

print("モジュール1")

if __name__ == '__main__':
print("ここは直接実行の場合のみ!")
PYTHONCOPY
# module2のファイルだとして。

import module2
print("モジュール2")

「python module2.py」で、モジュール2を直接実行すると、
>モジュール1
>モジュール2
と出力されるだけで、ifの中身は出力されません。

モジュール1を直接実行すると、
>モジュール1
>ここは直接実行の場合のみ!
>モジュール2
と出力されます。

Weekly Most Popular
記事書いたりサイト運営してる人
シイタ / siita
シイタ / siita
現役サラリーマン/システムエンジニアです。 会社外でも、自分に自信を持って活躍できるようになりたい。金銭的にも安心できるようになりたい。という気持ちから技術向上や不労所得を得るために、日々活動することを記録し、共有していきます。