python__name__原理及用法詳解
1、python中__name__是什么意思?
很多python的初學(xué)者可能都會(huì)遇到一個(gè)問題:__name__是什么意思?
在剛開始學(xué)習(xí)python的時(shí)候,我們總會(huì)看到這樣一句代碼:
if __name__ == "__main__":
一開始我以為這句代碼的意思和C語言中的main函數(shù)一樣,程序從這里開始執(zhí)行,但后來經(jīng)過查詢資料發(fā)現(xiàn),兩者并不完全相同,這里做一些解釋:
- __name__是一個(gè)變量,前后加了雙下劃線是因?yàn)檫@是系統(tǒng)定義的名字(python中系統(tǒng)變量都是雙下劃綫開頭結(jié)尾),普通變量不使用這種命名方式;
- python有很多模塊,這些模塊是可以獨(dú)立運(yùn)行的(這一點(diǎn)與C語言和C++的頭文件不同);
- __name__是用來標(biāo)識(shí)模塊名字的一個(gè)系統(tǒng)變量。這里分兩種情況:第一種情況指的是當(dāng)前運(yùn)行的模塊,那么當(dāng)前模塊__name__的值就為"__main__";第二種情況指的是該模塊是使用import導(dǎo)入的模塊,那么這個(gè)被導(dǎo)入模塊的__name__變量的值為該模塊的文件名(去掉.py)。
2、測試一下上面內(nèi)容的正確性
首先創(chuàng)建兩個(gè)測試文件,代碼如下
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é)果:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python關(guān)于__name__屬性的含義和作用詳解
- 如何使用python3獲取當(dāng)前路徑及os.path.dirname的使用
- python命名空間(namespace)簡單介紹
- 詳解python中__name__的意義以及作用
- 解決Python找不到ssl模塊問題 No module named _ssl的方法
- 正確理解Python中if __name__ == ''__main__''
- Python 獲取主機(jī)ip與hostname的方法
- Python os.rename() 重命名目錄和文件的示例
- 解決python "No module named pip"的問題
- Python命名空間namespace及作用域原理解析
相關(guān)文章
深入挖掘Python自定義加密算法的設(shè)計(jì)與實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Python中自定義加密算法的設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12
python中關(guān)于對(duì)super()函數(shù)疑問解惑
Python中的super()是用于調(diào)用父類(或父類的父類...)方法的函數(shù),主要用于多繼承,單繼承問題不大,下面這篇文章主要給大家介紹了關(guān)于python中關(guān)于對(duì)super()函數(shù)疑問解惑的相關(guān)資料,需要的朋友可以參考下2022-08-08
python小例子-縮進(jìn)式編碼+算術(shù)運(yùn)算符+定義與賦值
這篇文章主要給大家分享一些python學(xué)習(xí)小例子,內(nèi)容包括縮進(jìn)式編碼風(fēng)格、算術(shù)運(yùn)算符、定義與賦值,需要的小伙伴可以參考一下2022-04-04
Python實(shí)現(xiàn)子類調(diào)用父類的初始化實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)子類調(diào)用父類的初始化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Django中對(duì)數(shù)據(jù)查詢結(jié)果進(jìn)行排序的方法
這篇文章主要介紹了Django中對(duì)數(shù)據(jù)查詢結(jié)果進(jìn)行排序的方法,利用Python代碼代替SQL進(jìn)行一些簡單的操作,需要的朋友可以參考下2015-07-07

