Python基礎內容:怎樣快速理解if __name__ == 'main'語句

__name__ 是當前模塊名,當模塊被直接運行時模塊名爲 __main__ 。這句話的意思就是,當模塊被直接運行時,如下代碼塊將被運行,當模塊是被導入時,代碼塊不被運行。python

Python基礎內容:怎樣快速理解if __name__ == 'main'語句

相信好多初學者在學習python的過程當中,常常會遇到if __name__ == 'main'語句,可能你知道它的做用,也可能很模糊,今天就給你們分享下個人理解。學習

咱們先新建一個text的py文件,並寫入如下內容並運行3d

Python基礎內容:怎樣快速理解if __name__ == 'main'語句

而後呢,在同一個文件夾中在新建一個py文件text1,寫入一行代碼:import text 而後運行看看結果blog

Python基礎內容:怎樣快速理解if __name__ == 'main'語句

與以前test.py代碼運行結果比較,只有輸出學習Python,也就是if __name__=="__main__": 以前的語句被執行,以後的沒有被執行。test

爲何會這樣呢?別急,咱們稍微處理下代碼就能夠看明白了:import

在 if __name__=="__main__"以前加入一行代碼:print(__name__),即打印出__name__,而後咱們在從新分別執行2個代碼看看基礎

Python基礎內容:怎樣快速理解if __name__ == 'main'語句

這就很清楚了,在text中__name__變量的值爲__main__,而在text1中,__name__的值爲text,明顯不知足if語句,所以,後面的代碼沒法執行!變量

仔細想一想,它的原理也就是:原理

每一個python模塊(文件)都包含內置的變量__name__,當該模塊被執行的時候,__name__就等於文件名。而import到其餘模塊(文件)中,則__name__等於當前的模塊名,而__main__等於當前文件名,因此直接執行模塊的時候if __name__=="__main__"爲真,能夠執行;import到其餘模塊(文件)中,if __name__=="__main__"爲假,那固然就不執行對應的代碼了。im

簡單說就是:__name__是當前的模塊名字,在當前文件時能夠被執行,而模塊被導入時,代碼不被運行!

Python基礎內容:怎樣快速理解if __name__ == 'main'語句

喜歡就關注下唄( ̄ε  ̄)

相關文章
相關標籤/搜索