Python初心者の__name__, __main__, __init__
name == 'main'
Python 「if name == ‘main’:」の意味
「if name == 'main':」の意味は、「直接実行された場合のみ実行し、それ以外の場合は実行しない」
entry_point.pyを実行した (= 直接実行した) 場合
% python entry_point.py
__main__!!
test_module.pyを実行した (= 「直接実行した以外」の) 場合
% python test_module.py
entry_point
[Python] if name == 'main' について理解しよう
「name」
importした場合は "モジュール名" に置き換わる。
ファイルを実行した場合は、"main"に置き換わる。
ファイル実行時のみ、if文の条件がTrueになるので、中身が実行される。
直接実行されたスクリプトか、それともインポートされたモジュールかを判定するための条件文。Trueなら直接実行されたもの、Falseならインポートされたモジュールということ。
先生は言いました
if name == 'main' の下にコードをダラダラと書く人、挙手しなさい
【補講】if name == 'main' の下にコードをダラダラと書く人、挙手しなさい
if __name__ == '__main__':
main(sys.argv[1:])
main関数でくるむことによってグローバルスコープの名前空間は汚染されません。またmain関数でくるむことにより、main処理を冒頭に書けるのでコードの見通しがよくなります。python初心者のみなさんは関数でくるんでおいた方が無難です。
先生の意見は「メインモジュールにそれなりのコードを書くのであれば、if name == '__main__を書くべき」です。
if name == 'main' とはなにか
[Python] if name == 'main'の意味するところ
pythonの if name == 'main':は何のためにあるのか。
【pythonの基礎の基礎の基礎】なぜ__name__ == "main"をするか
【Python初心者】if name == 'main'を手を動かして理解する。
【python】if name == 'main':とは?
init
こうしてまたPython初心者が同じことを説明する記事を増やしてしまった。
Discussion