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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python關于__name__屬性的含義和作用詳解
- 如何使用python3獲取當前路徑及os.path.dirname的使用
- python命名空間(namespace)簡單介紹
- 詳解python中__name__的意義以及作用
- 解決Python找不到ssl模塊問題 No module named _ssl的方法
- 正確理解Python中if __name__ == ''__main__''
- Python 獲取主機ip與hostname的方法
- Python os.rename() 重命名目錄和文件的示例
- 解決python "No module named pip"的問題
- Python命名空間namespace及作用域原理解析
相關文章
Python實現(xiàn)子類調(diào)用父類的初始化實例
這篇文章主要介紹了Python實現(xiàn)子類調(diào)用父類的初始化實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Django中對數(shù)據(jù)查詢結果進行排序的方法
這篇文章主要介紹了Django中對數(shù)據(jù)查詢結果進行排序的方法,利用Python代碼代替SQL進行一些簡單的操作,需要的朋友可以參考下2015-07-07

