Python中if?__name__==‘__main__‘用法詳情
前言:
我們先定義一個test01.py的文件。
test01.py中代碼如下所示:
def step(): print(__name__) print('step1 買菜' 'step2 洗菜' 'step3 切菜' 'step4 炒菜') if __name__=='__main__': print('準備制作菜品') step() print('制作完成')
輸出結果:
注意:這段代碼中輸出的第一句。
print(__name__)
if __name__=='__main__'
是一個判斷模塊是以什么形式運行的語句。
如果這個模塊本身不被其他模塊調用,而是自己運行的,,那么有沒有if __name__=='__main__'
,執(zhí)行效果應該都是一樣的,這時__name__
的值就等于'__本模塊名 + main__'
;
如果這個模塊被其他模塊調用。會出現什么情況呢?
如圖所示定義一個test02.py文件:
輸出結果如圖所示:
我們發(fā)現,在test01中的輸出語句“準備制作菜品”、“制作完成”
并沒有輸出。
不難看出,test02不符合test01中if __name __= __main__
的判斷條件。
敲黑板總結啦:
__name__是用來標識模塊名字的一個系統(tǒng)變量。這里分兩種情況:第一種情況指的是當前運行的模塊,那么當前模塊__name__的值就為"main";
第二種情況指的是該模塊是使用import導入的模塊,那么這個被導入模塊的__name__變量的值為該模塊的文件名。
再來看一個例子:
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__)
輸出結果:
到此這篇關于Python中if __name__==‘__main__‘用法詳情的文章就介紹到這了,更多相關Python if __name__==‘__main__‘ 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
CentOS 7下安裝Python 3.5并與Python2.7兼容并存詳解
這篇文章主要給大家介紹了在CentOS 7下安裝Python 3.5并與Python2.7兼容并存的相關資料,文中將安裝步驟介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。2017-07-07Python3之字節(jié)串bytes與字節(jié)數組bytearray的使用詳解
今天小編就為大家分享一篇Python3之字節(jié)串bytes與字節(jié)數組bytearray的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08python GUI庫圖形界面開發(fā)之PyQt5日期時間控件QDateTimeEdit詳細使用方法與實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5日期時間控件QDateTimeEdit詳細使用方法與實例,需要的朋友可以參考下2020-02-02