溫馨提示×

溫馨提示×

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

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

python __name__是什么意思

發(fā)布時間:2020-09-21 09:15:09 來源:億速云 閱讀:257 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)python __name__是什么意思,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Python中的模塊(.py文件)在創(chuàng)建之初會自動加載一些內(nèi)建變量,__name__就是其中之一。Python模塊中通常會定義很多變量和函數(shù),這些變量和函數(shù)相當(dāng)于模塊中的一個功能,模塊被導(dǎo)入到別的文件中,可以調(diào)用這些變量和函數(shù)。那么這時 __name__ 的作用就彰顯了,它可以標(biāo)識模塊的名字,可以顯示一個模塊的某功能是被自己執(zhí)行還是被別的文件調(diào)用執(zhí)行,假設(shè)模塊A、B,模塊A自己定義了功能C,模塊B調(diào)用模塊A,現(xiàn)在功能C被執(zhí)行了:

如果C被A自己執(zhí)行,也就是說模塊執(zhí)行了自己定義的功能,那么 __name__=='__main__'

如果C被B調(diào)用執(zhí)行,也就是說當(dāng)前模塊調(diào)用執(zhí)行了別的模塊的功能,那么__name__=='A'(被調(diào)用模塊的名字)

其實換一種說法也就是表示當(dāng)前程序運行在哪一個模塊中。

下面舉例說明:

首先自定義模塊Student,在模塊中定義功能Differ()

python __name__是什么意思

然后先自身執(zhí)行,結(jié)果如下, __name__=='__main__'

python __name__是什么意思

然后B調(diào)用執(zhí)行,結(jié)果 __name__=='Student'

python __name__是什么意思                python __name__是什么意思

上面出兩次結(jié)果,是因為python中導(dǎo)入模塊會先將文件執(zhí)行一遍,如下圖:

python __name__是什么意思

到這兒可能有人已經(jīng)注意到,上面的 __main__ 在python中作可以為函數(shù)的入口,而實際工程常用 if __name__=='__main__'來表示整個工程開始運行的入口。此外你如果不想讓功能的某部分被別的模塊調(diào)用執(zhí)行,比如我自定的模塊Student里的‘我的密碼是xxx’,只有自己執(zhí)行才可以打印密碼。所有你可以把部分寫在if語句里,只有__name__=='__main__'的時候才能執(zhí)行。這個可以這么理解,在if語句之外代碼是最外層的,有點“全局變量”的意思,放入if里面就成了私有的了。

上述就是小編為大家分享的python __name__是什么意思了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI