当python编译器执行一个代码文件时,会执行文件中所有的代码
但在执行代码前,编译器会定义一个特殊的变量。例如,如果编译器将当前的 module 作为主程序,它会将 __name__
这个变量赋值为 "__main__"
如果这个文件被其他文件(module)导入, __name__
这个变量赋值为这个文件(module)的文件名。
# a.py
import b
an
# b.py
print "Hello World from %s!" % __name__
if __name__ == '__main__':
print "Hello World again from %s!" % __name__
#运行 a.py
$ python a.py
Hello World from b!
#运行 b.py
$ python b.py
Hello World from __main__!
Hello World again from __main__!