if __name__ == '__main__':的作用

来源:互联网 发布:mac初始密码是多少 编辑:程序博客网 时间:2024/06/06 05:16

要了解if __name__ == '__main__':的作用,首先要了解__name__是什么。

首先,直接执行以下脚本demo.py:

#! /usr/bin/env pythondef main():        print(__name__)main()
执行结果如下:

$ python demo.py  __main__


其次,在另外一个模块demo2.py中引用demo.py中的main()方法(模块在第一次被引入的时候,会执行将模块执行。所以在demo2.py中没用执行main()方法。)

#! /usr/bin/env pythonfrom demo import main
执行结果如下:

$ python demo2.py  demo
结论:只有模块被直接执行时,__name__的值为  '__main__',如果是被其他模块引入,那么__name__的值为该模块名。

因此,if __name__ == '__main__':的作用就是判断该模块是否是直接执行的,还是被其他模块引入,如果是直接执行的,则继续执行下面代码,否则,只是作为被引入的模块辅助其他模块。
简单的说这句话的作用就是:It makes a script both importalbe and executable.

参考:http://www.jb51.net/article/51892.htm


0 0