溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python__name__原理及用法詳解

發(fā)布時(shí)間:2020-09-09 19:07:10 來(lái)源:腳本之家 閱讀:139 作者:yaominghui 欄目:開發(fā)技術(shù)

1、python中__name__是什么意思?

很多python的初學(xué)者可能都會(huì)遇到一個(gè)問題:__name__是什么意思?

在剛開始學(xué)習(xí)python的時(shí)候,我們總會(huì)看到這樣一句代碼:

if __name__ == "__main__":

一開始我以為這句代碼的意思和C語(yǔ)言中的main函數(shù)一樣,程序從這里開始執(zhí)行,但后來(lái)經(jīng)過查詢資料發(fā)現(xiàn),兩者并不完全相同,這里做一些解釋:

  • __name__是一個(gè)變量,前后加了雙下劃線是因?yàn)檫@是系統(tǒng)定義的名字(python中系統(tǒng)變量都是雙下劃綫開頭結(jié)尾),普通變量不使用這種命名方式;
  • python有很多模塊,這些模塊是可以獨(dú)立運(yùn)行的(這一點(diǎn)與C語(yǔ)言和C++的頭文件不同);
  • __name__是用來(lái)標(biāo)識(shí)模塊名字的一個(gè)系統(tǒng)變量。這里分兩種情況:第一種情況指的是當(dāng)前運(yùn)行的模塊,那么當(dāng)前模塊__name__的值就為"__main__";第二種情況指的是該模塊是使用import導(dǎo)入的模塊,那么這個(gè)被導(dǎo)入模塊的__name__變量的值為該模塊的文件名(去掉.py)。

2、測(cè)試一下上面內(nèi)容的正確性

首先創(chuàng)建兩個(gè)測(cè)試文件,代碼如下

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__)

運(yùn)行test.py文件,得到下面的結(jié)果:

python__name__原理及用法詳解

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI