Python中if?__name__==‘__main__‘用法詳情
前言:
我們先定義一個(gè)test01.py的文件。
test01.py中代碼如下所示:
def step(): print(__name__) print('step1 買菜' 'step2 洗菜' 'step3 切菜' 'step4 炒菜') if __name__=='__main__': print('準(zhǔn)備制作菜品') step() print('制作完成')
輸出結(jié)果:
注意:這段代碼中輸出的第一句。
print(__name__)
if __name__=='__main__'
是一個(gè)判斷模塊是以什么形式運(yùn)行的語句。
如果這個(gè)模塊本身不被其他模塊調(diào)用,而是自己運(yùn)行的,,那么有沒有if __name__=='__main__'
,執(zhí)行效果應(yīng)該都是一樣的,這時(shí)__name__
的值就等于'__本模塊名 + main__'
;
如果這個(gè)模塊被其他模塊調(diào)用。會(huì)出現(xiàn)什么情況呢?
如圖所示定義一個(gè)test02.py文件:
輸出結(jié)果如圖所示:
我們發(fā)現(xiàn),在test01中的輸出語句“準(zhǔn)備制作菜品”、“制作完成”
并沒有輸出。
不難看出,test02不符合test01中if __name __= __main__
的判斷條件。
敲黑板總結(jié)啦:
__name__是用來標(biāo)識(shí)模塊名字的一個(gè)系統(tǒng)變量。這里分兩種情況:第一種情況指的是當(dāng)前運(yùn)行的模塊,那么當(dāng)前模塊__name__的值就為"main";
第二種情況指的是該模塊是使用import導(dǎo)入的模塊,那么這個(gè)被導(dǎo)入模塊的__name__變量的值為該模塊的文件名。
再來看一個(gè)例子:
test_one.py:
def test_function(): print(__name__) def test1_function(name): print(type(name), name)
test.py:
from test_one import * test_function() test1_function(__name__)
輸出結(jié)果:
到此這篇關(guān)于Python中if __name__==‘__main__‘用法詳情的文章就介紹到這了,更多相關(guān)Python if __name__==‘__main__‘ 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7下安裝Python 3.5并與Python2.7兼容并存詳解
這篇文章主要給大家介紹了在CentOS 7下安裝Python 3.5并與Python2.7兼容并存的相關(guān)資料,文中將安裝步驟介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07使用python進(jìn)行時(shí)間序列預(yù)測的流程
使用 Python 進(jìn)行時(shí)間序列預(yù)測是一個(gè)非常常見的任務(wù),可以應(yīng)用于各種領(lǐng)域,時(shí)間序列預(yù)測的方法有很多,包括統(tǒng)計(jì)方法、機(jī)器學(xué)習(xí)方法、以及深度學(xué)習(xí)方法,下面是一個(gè)簡單的時(shí)間序列預(yù)測流程示例,需要的朋友可以參考下2024-09-09Python基于twisted實(shí)現(xiàn)簡單的web服務(wù)器
這篇文章主要介紹了Python基于twisted實(shí)現(xiàn)簡單的web服務(wù)器,可模擬出簡單的web服務(wù)器功能,是很實(shí)用的技巧,需要的朋友可以參考下2014-09-09pandas 強(qiáng)制類型轉(zhuǎn)換 df.astype實(shí)例
這篇文章主要介紹了pandas 強(qiáng)制類型轉(zhuǎn)換 df.astype實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解
今天小編就為大家分享一篇Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08python GUI庫圖形界面開發(fā)之PyQt5日期時(shí)間控件QDateTimeEdit詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5日期時(shí)間控件QDateTimeEdit詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02如何使用Python 抓取和優(yōu)化所有網(wǎng)站圖像
我發(fā)布了一個(gè)通過FTP自動(dòng)優(yōu)化新圖像的教程。這次我們將抓取整個(gè)網(wǎng)站,并在本地優(yōu)化我們遇到的圖像,按URL組織,怎么來操作呢,下面跟隨小編一起學(xué)習(xí)使用Python 抓取和優(yōu)化所有網(wǎng)站圖像的方法,感興趣的朋友一起看看吧2023-02-02Python 實(shí)現(xiàn)兩個(gè)列表里元素對(duì)應(yīng)相乘的方法
今天小編就為大家分享一篇Python 實(shí)現(xiàn)兩個(gè)列表里元素對(duì)應(yīng)相乘的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11