模块是对象,并且所有的模块都有一个内置属性_name_。一个模块的 _name_ 的值取决于您如何应用模块。如果import一个模块,那么模块_name_ 的值通常为模块文件名,不带路径或者文件扩展名。如果想像一个标准的程序样使之直接运行,_name_ 的值将是一个特别缺省_main_。
比如在Python IDE环境下,能直接运行.py文件,name的值是’main‘;而在import 一个.py文件后,name的值就不是’main‘了;
>>>help(__name__)
Help on built-in module __main__:
NAME
__main__
FILE
(built-in)
而
>>>import re
>>>re.__name__
're'
因此,if _name_ == ‘_main_’是用来判断.py文件是否可以直接运行的。
参考:
http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792463.html