av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺析Python __name__ 是什么

瀏覽:94日期:2022-07-18 13:10:41

前言

在我們?yōu)g覽一下 python 文件或者自己寫(xiě) python 代碼的時(shí)候,時(shí)常會(huì)在代碼的最后加上這樣的一行代碼

if __name__ == ’__main__’: func_name()

那么這一行代碼有什么具體的作用呢,不加的話會(huì)對(duì)我們的結(jié)果造成影響嗎?

__name__

首先對(duì)于用雙下劃線開(kāi)頭且結(jié)尾的變量,在 Python 中被稱為內(nèi)置變量,除了 __name__,我們常見(jiàn)的還有 __init__,__dict__ 等等.那么有多少內(nèi)置變量呢?我們可以通過(guò)下面在交互界面輸入下面的命令,查看 Python 全部?jī)?nèi)置變量和內(nèi)置函數(shù)

>>> dir(__builtins__)

結(jié)果如下圖:

淺析Python __name__ 是什么

不同情況下的 __name__ 的值

首先我們需要知道 __name__ 在不同情況下會(huì)有不同值,它的值取決于我們是如何執(zhí)行腳本的.我們可以通過(guò)幾個(gè)例子感受一下:

Example 0

# test.pyprint(f’__name__ 在 test.py 值為 {__name__}’)

然后直接執(zhí)行一下代碼

$ python test.py

然后看一下輸出

$ python test.py __name__ 在 test.py 值為 __main__

在這個(gè)例子中,我們發(fā)現(xiàn) __name__ 的值是 __main__

Example 1

在這個(gè)例子中,我們重新創(chuàng)建一個(gè)腳本 test1.py 然后我們?cè)?test1.py 中調(diào)用 test.py

# test1.pyimport testprint(f’__name__ 在 test1.py 值為 {__name__}’)

接著執(zhí)行一下 test1.py,再看一下輸出

python test1.py __name__ 在 test.py 值為 test__name__ 在 test1.py 值為 __main__

結(jié)果是不是很有意思?整個(gè)過(guò)程是什么樣子的呢?簡(jiǎn)單的畫(huà)了一個(gè)圖

淺析Python __name__ 是什么

什么時(shí)候使用 __name__

有時(shí)候,我們用 Python 寫(xiě)了一個(gè)腳本,當(dāng)我們既希望這個(gè)腳本可以單獨(dú)運(yùn)行,同樣希望它可以在其他的腳本中發(fā)揮作用. 這個(gè)時(shí)候就需要考慮使用 __name__ 了. 這里通過(guò)改造上面 Example 1的例子來(lái)直觀感受一下

修改一下 test.py 文件

# test.pydef hello(name): print(f’Hello,{name}’)if __name__ == ’__main__’: hello('test')

再修改一下 test1.py 文件

# test1.pyfrom test import hellohello('test1')

然后讓我們先嘗試直接運(yùn)行一下 test.py,很顯然這個(gè)時(shí)候, if 語(yǔ)句條件滿足,會(huì)輸出 Hello,test

$ python test.py Hello,test

這個(gè)時(shí)候我們?nèi)绻\(yùn)行 test1.py,程序就會(huì)輸出 Hello,test1 了

$ python test1.py Hello,test1

如果我們把 if __name__ == '__main__' 在 test.py 去掉會(huì)發(fā)生什么呢?

$ python test1.py Hello,testHello,test1

參考

What does if name == “main”: do?

What’s in a (Python’s) name?

到此這篇關(guān)于Python __name__ 是什么的文章就介紹到這了,更多相關(guān)Python __name__ 內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲精品欧美 | 天天干天天插天天 | 欧美精品在线免费观看 | 在线成人免费视频 | 黄色片免费 | 亚洲一二三区精品 | 免费观看一区二区三区毛片 | 色婷婷精品久久二区二区蜜臂av | 麻豆91精品91久久久 | 国产美女在线观看 | 超碰97在线免费 | 国产一区二区麻豆 | 日韩一区二区三区在线观看视频 | 久久久久91 | 黄色免费在线观看 | 午夜视频在线观看一区二区 | 免费高潮视频95在线观看网站 | 亚洲午夜精品一区二区三区 | 日韩精品在线视频免费观看 | 成人影院在线 | 日本成人午夜影院 | 一级看片免费视频 | 亚洲成av | 亚洲视频在线观看免费 | 中文字幕第三页 | 日韩一区和二区 | 麻豆成人在线视频 | 青青久在线视频 | 精品免费国产视频 | 九一在线 | 亚洲精品日韩一区二区电影 | 国产精品日韩 | 国产精品视频观看 | 亚洲黄色一级毛片 | 毛片a| 欧美在线视频一区 | 日韩欧美中文字幕在线观看 | 99精品一区二区三区 | 国产精品精品 | 国产精品视频免费观看 | 在线黄av|