最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Python __name__ 是什么

 更新時(shí)間:2020年07月07日 14:16:44   作者:Leetao  
這篇文章主要介紹了Python __name__ 是什么,本文通過(guò)實(shí)例代碼給大家介紹了Python __name__ 的作用,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

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

if __name__ == '__main__':
 func_name() 

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

__name__

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

>>> dir(__builtins__)

結(jié)果如下圖:

不同情況下的 __name__ 的值

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

Example 0

# test.py
print(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.py
import test
print(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è)圖

什么時(shí)候使用 __name__

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

修改一下 test.py 文件

# test.py
def hello(name):
 print(f'Hello,{name}')
if __name__ == '__main__':
 hello("test")

再修改一下 test1.py 文件

# test1.py
from test import hello
hello("test1")

然后讓我們先嘗試直接運(yùn)行一下 test.py,很顯然這個(gè)時(shí)候, if 語(yǔ)句條件滿(mǎn)足,會(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,test
Hello,test1

參考

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

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

相關(guān)文章

  • Python?Panda中索引和選擇?series?的數(shù)據(jù)

    Python?Panda中索引和選擇?series?的數(shù)據(jù)

    這篇文章主要介紹了Python?Panda中索引和選擇series的數(shù)據(jù),文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Python中hashlib模塊的摘要算法詳解

    Python中hashlib模塊的摘要算法詳解

    這篇文章主要介紹了Python中hashlib模塊的摘要算法詳解,摘要算法又稱(chēng)哈希算法、散列算法,它通過(guò)一個(gè)函數(shù),把任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)長(zhǎng)度固定的數(shù)據(jù)串,通常用16進(jìn)制的字符串表示,需要的朋友可以參考下
    2023-08-08
  • Python3結(jié)合Dlib實(shí)現(xiàn)人臉識(shí)別和剪切

    Python3結(jié)合Dlib實(shí)現(xiàn)人臉識(shí)別和剪切

    本篇文章給大家詳細(xì)分析了Python3結(jié)合Dlib實(shí)現(xiàn)人臉識(shí)別和剪切這個(gè)技術(shù),對(duì)此有興趣的朋友參考學(xué)習(xí)下。
    2018-01-01
  • python網(wǎng)絡(luò)爬蟲(chóng)基于selenium爬取斗魚(yú)直播信息

    python網(wǎng)絡(luò)爬蟲(chóng)基于selenium爬取斗魚(yú)直播信息

    目前是直播行業(yè)的一個(gè)爆發(fā)期,由于國(guó)家對(duì)直播行業(yè)進(jìn)行整頓和規(guī)范,現(xiàn)在整個(gè)直播行業(yè)也在穩(wěn)固發(fā)展。隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)直播市場(chǎng)的快速發(fā)展,相信未來(lái)還有廣闊的發(fā)展前景。今天用selenium爬取一下斗魚(yú)直播信息將代碼分享給大家
    2022-03-03
  • Python教程pandas數(shù)據(jù)分析去重復(fù)值

    Python教程pandas數(shù)據(jù)分析去重復(fù)值

    Pandas指定行進(jìn)行去重更新值,加載數(shù)據(jù)sample抽樣函數(shù),指定需要更新的值append直接添加append函數(shù)用法,根據(jù)某一列key值進(jìn)行去重key唯一
    2021-09-09
  • python之matplotlib矢量圖svg?emf

    python之matplotlib矢量圖svg?emf

    這篇文章主要介紹了python之matplotlib矢量圖svg?emf,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python通過(guò)調(diào)用mysql存儲(chǔ)過(guò)程實(shí)現(xiàn)更新數(shù)據(jù)功能示例

    Python通過(guò)調(diào)用mysql存儲(chǔ)過(guò)程實(shí)現(xiàn)更新數(shù)據(jù)功能示例

    這篇文章主要介紹了Python通過(guò)調(diào)用mysql存儲(chǔ)過(guò)程實(shí)現(xiàn)更新數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Python調(diào)用mysql存儲(chǔ)過(guò)程實(shí)現(xiàn)更新數(shù)據(jù)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python隨機(jī)生成均勻分布在三角形內(nèi)或者任意多邊形內(nèi)的點(diǎn)

    Python隨機(jī)生成均勻分布在三角形內(nèi)或者任意多邊形內(nèi)的點(diǎn)

    這篇文章主要為大家詳細(xì)介紹了Python隨機(jī)生成均勻分布在三角形內(nèi)或者任意多邊形內(nèi)的點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python+Pygame實(shí)現(xiàn)之走四棋兒游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)現(xiàn)之走四棋兒游戲的實(shí)現(xiàn)

    大家以前應(yīng)該都聽(tīng)說(shuō)過(guò)一個(gè)游戲:叫做走四棋兒。直接在家里的水泥地上用燒完的炭火灰畫(huà)出幾條線,擺上幾顆石頭子即可。當(dāng)時(shí)的火爆程度可謂是達(dá)到了一個(gè)新的高度。本文將利用Pygame實(shí)現(xiàn)這一游戲,需要的可以參考一下
    2022-07-07
  • wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件

    wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件

    這篇文章主要介紹了wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論

凭祥市| 游戏| 甘孜县| 赤峰市| 虎林市| 新昌县| 文山县| 卓资县| 昌江| 邛崃市| 沐川县| 商城县| 吴堡县| 涟源市| 石阡县| 西安市| 旬阳县| 长沙县| 济宁市| 绥芬河市| 鄱阳县| 绩溪县| 额敏县| 山丹县| 凤翔县| 六安市| 瓦房店市| 札达县| 绩溪县| 通海县| 仁怀市| 长治县| 昌吉市| 自贡市| 门源| 牟定县| 开鲁县| 咸丰县| 公主岭市| 嘉义市| 德庆县|