2011年3月18日金曜日

if __name__ == "__main__" の意味。

モジュールの実行のされ方は2つ。
1.それ自体が実行される。
2.importされて呼び出される。

1のケースでは、__name__には"__main__"が代入され、
2のケースでは、__name__にはモジュール名が代入される(test.pyなら"test"が代入される)

ゆえに
if __name__ == "__main__"
main()

の意味は、このモジュールがそれ自体で呼び出されたときは、main()を実行し、
importされた場合はmain()はスルーしますよという意味。

[参考文献]
http://www.ibiblio.org/g2swap/byteofpython/read/module-name.html
http://d.hatena.ne.jp/s-n-k/20080512/1210611374

0 件のコメント:

コメントを投稿