Python中if __name__ == '__main__'作用解析
當(dāng)你打開一個.py文件時,經(jīng)常會在代碼的最下面看到if __name__ == '__main__':,現(xiàn)在就來介 紹一下它的作用.
模塊是對象,并且所有的模塊都有一個內(nèi)置屬性 __name__。一個模塊的 __name__ 的值取決于您如何應(yīng)用模塊。如果 import 一個模塊,那么模塊__name__ 的值通常為模塊文件名,不帶路徑或者文件擴(kuò)展名。但是您也可以像一個標(biāo)準(zhǔn)的程序樣直接運(yùn)行模塊,在這 種情況下, __name__ 的值將是一個特別缺省"__main__"。
///////////////////////////////////////////////////////////////////////////////////////////////////
在cmd 中直接運(yùn)行.py文件,則__name__的值是'__main__';
而在import 一個.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)行到!
相關(guān)文章
Python入門教程(二十九)Python的RegEx正則表達(dá)式
這篇文章主要介紹了Python入門教程(二十九)Python的RegEx,RegEx 或正則表達(dá)式是形成搜索模式的字符序列。RegEx 可用于檢查字符串是否包含指定的搜索模式,需要的朋友可以參考下2023-04-04Pycharm2017版本設(shè)置啟動時默認(rèn)自動打開項(xiàng)目的方法
今天小編就為大家分享一篇Pycharm2017版本設(shè)置啟動時默認(rèn)自動打開項(xiàng)目的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python面向?qū)ο蟪绦蛟O(shè)計之靜態(tài)方法、類方法、屬性方法原理與用法分析
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計之靜態(tài)方法、類方法、屬性方法,結(jié)合實(shí)例形式分析了Python靜態(tài)方法、類方法、屬性方法相關(guān)概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-03-03python之broadcast和numpy.sum()函數(shù)用法及說明
這篇文章主要介紹了python之broadcast和numpy.sum()函數(shù)用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06pytorch finetuning 自己的圖片進(jìn)行訓(xùn)練操作
這篇文章主要介紹了pytorch finetuning 自己的圖片進(jìn)行訓(xùn)練操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06