Python中if __name__ == '__main__'作用解析
當(dāng)你打開一個(gè).py文件時(shí),經(jīng)常會在代碼的最下面看到if __name__ == '__main__':,現(xiàn)在就來介 紹一下它的作用.
模塊是對象,并且所有的模塊都有一個(gè)內(nèi)置屬性 __name__。一個(gè)模塊的 __name__ 的值取決于您如何應(yīng)用模塊。如果 import 一個(gè)模塊,那么模塊__name__ 的值通常為模塊文件名,不帶路徑或者文件擴(kuò)展名。但是您也可以像一個(gè)標(biāo)準(zhǔn)的程序樣直接運(yùn)行模塊,在這 種情況下, __name__ 的值將是一個(gè)特別缺省"__main__"。
///////////////////////////////////////////////////////////////////////////////////////////////////
在cmd 中直接運(yùn)行.py文件,則__name__的值是'__main__';
而在import 一個(gè).py文件后,__name__的值就不是'__main__'了;
從而用if __name__ == '__main__'來判斷是否是在直接運(yùn)行該.py文件
如:
#Test.py
class Test:
def __init(self):pass
def f(self):print 'Hello, World!'
if __name__ == '__main__':
Test().f()
#End
你在cmd中輸入:
C:>python Test.py
Hello, World!
說明:"__name__ == '__main__'"是成立的
你再在cmd中輸入:
C:>python
>>>import Test
>>>Test.__name__ #Test模塊的__name__
'Test'
>>>__name__ #當(dāng)前程序的__name__
'__main__'
無論怎樣,Test.py中的"__name__ == '__main__'"都不會成立的!
所以,下一行代碼永遠(yuǎn)不會運(yùn)行到!
- Python中if __name__ == "__main__"詳細(xì)解釋
- 正確理解Python中if __name__ == ''__main__''
- Python中if?__name__==‘__main__‘用法詳情
- 聊聊Python代碼中if?__name__?==?‘__main__‘的作用是什么
- 關(guān)于Python中的if __name__ == __main__詳情
- 一篇文章徹底弄懂Python中的if?__name__?==?__main__
- 深入理解python中if?__name__?==?‘__main__‘
- Python中if __name__ == “__main__“的作用總結(jié)
相關(guān)文章
python爬蟲實(shí)戰(zhàn)之爬取京東商城實(shí)例教程
這篇文章主要介紹了python爬取京東商城的相關(guān)資料,文中通過爬取一個(gè)實(shí)例頁面進(jìn)行了講解,通過示例代碼和圖文介紹的非常詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-04-04
python中綁定方法與非綁定方法的實(shí)現(xiàn)示例
本文主要介紹了python中綁定方法與非綁定方法的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
在 Python 應(yīng)用中使用 MongoDB的方法
這篇文章主要介紹了在 Python 應(yīng)用中使用 MongoDB的方法,需要的朋友可以參考下2017-01-01
關(guān)于Python?Selenium自動化導(dǎo)出新版WOS(web?of?science)檢索結(jié)果的問題
這篇文章主要介紹了Python?Selenium自動化導(dǎo)出新版WOS(web?of?science)檢索結(jié)果,本代碼屬于半自動化導(dǎo)出,考慮到開發(fā)效率等因素,有兩處在首次導(dǎo)出時(shí)需要手動操作,具體實(shí)現(xiàn)過程跟隨小編一起看看吧2022-01-01

