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()
转载于:https://blog.51cto.com/haohao1010/1330476