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__'
,執行效果應該都是一樣的,這時__name__
的值就等於'__本模塊名 + main__'
;
如果這個模塊被其他模塊調用。會出現什麼情況呢?
如圖所示定義一個test02.py文件:
輸出結果如圖所示:
我們發現,在test01中的輸出語句“準備制作菜品”、“制作完成”
並沒有輸出。
不難看出,test02不符合test01中if __name __= __main__
的判斷條件。
敲黑板總結啦:
__name__是用來標識模塊名字的一個系統變量。這裡分兩種情況:第一種情況指的是當前運行的模塊,那麼當前模塊__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__‘ 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一行正則表達式判斷質數的代碼
- Python讀取和存儲yaml文件的方法
- 超詳細Python解釋器新手安裝教程
- 一篇文章搞懂python混亂的切換操作與優雅的推導式
- 使用R語言繪制3D數據可視化scatter散點圖實現步驟