python__name__原理及用法詳解
1、python中__name__是什么意思?
很多python的初學(xué)者可能都會(huì)遇到一個(gè)問(wèn)題:__name__是什么意思?
在剛開(kāi)始學(xué)習(xí)python的時(shí)候,我們總會(huì)看到這樣一句代碼:
if __name__ == "__main__":
一開(kāi)始我以為這句代碼的意思和C語(yǔ)言中的main函數(shù)一樣,程序從這里開(kāi)始執(zhí)行,但后來(lái)經(jīng)過(guò)查詢(xún)資料發(fā)現(xiàn),兩者并不完全相同,這里做一些解釋?zhuān)?/p>
- __name__是一個(gè)變量,前后加了雙下劃線是因?yàn)檫@是系統(tǒng)定義的名字(python中系統(tǒng)變量都是雙下劃綫開(kāi)頭結(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é)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python關(guān)于__name__屬性的含義和作用詳解
- 如何使用python3獲取當(dāng)前路徑及os.path.dirname的使用
- python命名空間(namespace)簡(jiǎn)單介紹
- 詳解python中__name__的意義以及作用
- 解決Python找不到ssl模塊問(wèn)題 No module named _ssl的方法
- 正確理解Python中if __name__ == ''__main__''
- Python 獲取主機(jī)ip與hostname的方法
- Python os.rename() 重命名目錄和文件的示例
- 解決python "No module named pip"的問(wèn)題
- Python命名空間namespace及作用域原理解析
相關(guān)文章
Python3正則表達(dá)式之:(?(id/name)yes-pattern|no-pattern)條件性匹配
(?(id/name)yes-pattern|no-pattern)的作用是對(duì)于給出的id或者name,先嘗試去匹配 yes-pattern部分的內(nèi)容,如果id或name條件不滿(mǎn)足,則去匹配no-pattern部分的內(nèi)容2021-10-10簡(jiǎn)單了解Django應(yīng)用app及分布式路由
這篇文章主要介紹了簡(jiǎn)單了解Django應(yīng)用app及分布式路由,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07python使用openpyxl庫(kù)讀寫(xiě)Excel表格的方法(增刪改查操作)
這篇文章主要介紹了python使用openpyxl庫(kù)讀寫(xiě)Excel表格的方法(增刪改查操作),本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Python創(chuàng)建一個(gè)功能齊全的隨機(jī)驗(yàn)證碼生成器
驗(yàn)證碼通過(guò)生成一張包含難以識(shí)別的文本、數(shù)字或圖像的圖像,要求用戶(hù)正確輸入其中的內(nèi)容,用于驗(yàn)證用戶(hù)身份,本篇教程將帶領(lǐng)您一步步使用Python創(chuàng)建一個(gè)功能齊全的隨機(jī)驗(yàn)證碼生成器,我們將通過(guò)導(dǎo)入必要的庫(kù)、定義輔助函數(shù)以及編寫(xiě)主函數(shù)check_code()2024-04-04舉例講解Python中的list列表數(shù)據(jù)結(jié)構(gòu)用法
這篇文章主要介紹了Python中的list列表數(shù)據(jù)結(jié)構(gòu)用法,列表是Python內(nèi)置的六種集合類(lèi)數(shù)據(jù)類(lèi)型中最常見(jiàn)的之一,需要的朋友可以參考下2016-03-03解決python ogr shp字段寫(xiě)入中文亂碼的問(wèn)題
今天小編就為大家分享一篇解決python ogr shp字段寫(xiě)入中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12探究Python多進(jìn)程編程下線程之間變量的共享問(wèn)題
這篇文章主要介紹了探究Python多進(jìn)程編程下線程之間變量的共享問(wèn)題,多進(jìn)程編程是Python學(xué)習(xí)進(jìn)階中的重要知識(shí),需要的朋友可以參考下2015-05-05Python Flask 請(qǐng)求數(shù)據(jù)獲取響應(yīng)詳解
這篇文章主要介紹了Python Flask請(qǐng)求數(shù)據(jù)獲取響應(yīng)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-10-10