Python 中 if __name__ == '__main__'的解析

python中if name == 'main': 的解析

當(dāng)你打開一個.py文件時,經(jīng)常會在代碼的最下面看到if name == 'main':,現(xiàn)在就來介 紹一下它的作用.

    模塊是對象,并且所有的模塊都有一個內(nèi)置屬性 __name__。一個模塊的 __name__ 的值取決于您如何應(yīng)用模塊。如果 import 一個模塊,那么模塊__name__ 的值通常為模塊文件名,不帶路徑或者文件擴展名。但是您也可以像一個標(biāo)準(zhǔn)的程序樣直接運行模塊,在這 種情況下, __name__ 的值將是一個特別缺省"__main__"。

///////////////////////////////////////////////////////////////////////////////////////////////////

在cmd 中直接運行.py文件,則name的值是'main';

而在import 一個.py文件后,name的值就不是'main'了;

從而用if name == 'main'來判斷是否是在直接運行該.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)不會運行到!

//////////////////////////////////////////////////////////////////////////////////

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng)你打開一個.py文件時,經(jīng)常會在代碼的最下面看到if __name__ == '__main__':,現(xiàn)在就來介...
    凌絕少爺閱讀 545評論 0 0
  • 當(dāng)你打開一個.py文件時,經(jīng)常會在代碼的最下面看到if __name__ == '__main__':,現(xiàn)在就來介...
    東皇Amrzs閱讀 412評論 1 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 這個社會遠(yuǎn)遠(yuǎn)比我想的還要可怕。一個車站都是等車的人,不是短暫的等待,而是漫長的一整夜。早晨的火車,他們前一天晚上就...
    辭窮閱讀 270評論 0 1
  • 秋之味 陰翳在初秋寂靜開合 它的味道再熟悉不過 一只貓凌厲的眼神 在圍墻下與你相遇 那一刻 相互懂得 彼此最深的孤...
    瑞意雋永閱讀 308評論 0 7

友情鏈接更多精彩內(nèi)容