python中if __name__ == '__main__': 的解析

當你打開一個.py文件時,常常會在代碼的最下面看到if __name__ == '__main__':,如今就來介 紹一下它的做用.函數

        模塊是對象,而且全部的模塊都有一個內置屬性 __name__。一個模塊的 __name__ 的值取決於您如何應用模塊。若是 import 一個模塊,那麼模塊__name__ 的值一般爲模塊文件名,不帶路徑或者文件擴展名。可是您也能夠像一個標準的程序樣直接運行模塊,在這 種狀況下, __name__ 的值將是一個特別缺省"__main__"。spa

在cmd 中直接運行.py文件,則__name__的值是'__main__';code

而在import 一個.py文件後,__name__的值就不是'__main__'了;對象

從而用if __name__ == '__main__'來判斷是不是在直接運行該.py文件blog

如:cmd

建a.pyclass

# -*- coding: utf_8 -*-
def abc():
    print '在腳本'
def ddd():
    print '在import'
if __name__=="__main__":
   abc() #調用main.py中的run()函數!
else:
    ddd()

運行a.pyimport

結果顯示擴展

建b.pycoding

# -*- coding: utf_8 -*-
import  a

運行b.py,結果顯示

相關文章
相關標籤/搜索