if __name__ == 是否等于'__main__'  是决定自己运行还是以模块形式被载入


如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__"。(注意理解)


案例描述    现有一个python程序名称为name.py和一个name1.py(注意两个文件名字,文件里面会用到)name.py  如下:

def test1():                                   ## 定义
   print "test1 is running"
#print __name__                          ##如果你想看一下__name__的值是不是main 可以打开注释看一下
test_2():
   print"test2"
if __name__=="__main__":

#  test()
   print "test main is working"
if __name__=="name":                  ## 这名字是自己 name.py的,不带路径或者文件扩展名;目的是让大家知道在他等于main,是调用本身,不等于的时候是被调用
   print "name is diaoyong"
   test_2()


name1.py  如下:

import name                                ##name.py     调用的模块
t=name
#t.test1()
#print t.__name__                        ## 在这里被调用时候 t.name 值是多少   是被调用的模块名;可以去掉注释查看,之所以有了这个   第一个python文件中的  if __name__=="name":    才被执行 否则等于其他将不执行此句

if __name__=="__main__":       ## 每个 python都有一个自己的___name___并且值都是main
   print "name1 de manin"
   print __name__
quit()