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()