欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Python __name__ 是什么

 更新時(shí)間:2020年07月07日 14:16:44   作者:Leetao  
這篇文章主要介紹了Python __name__ 是什么,本文通過實(shí)例代碼給大家介紹了Python __name__ 的作用,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

在我們?yōu)g覽一下 python 文件或者自己寫 python 代碼的時(shí)候,時(shí)常會(huì)在代碼的最后加上這樣的一行代碼

if __name__ == '__main__':
 func_name() 

那么這一行代碼有什么具體的作用呢,不加的話會(huì)對(duì)我們的結(jié)果造成影響嗎?

__name__

首先對(duì)于用雙下劃線開頭且結(jié)尾的變量,在 Python 中被稱為內(nèi)置變量,除了 __name__,我們常見的還有 __init__,__dict__ 等等.那么有多少內(nèi)置變量呢?我們可以通過下面在交互界面輸入下面的命令,查看 Python 全部?jī)?nèi)置變量和內(nèi)置函數(shù)

>>> dir(__builtins__)

結(jié)果如下圖:

不同情況下的 __name__ 的值

首先我們需要知道 __name__ 在不同情況下會(huì)有不同值,它的值取決于我們是如何執(zhí)行腳本的.我們可以通過幾個(gè)例子感受一下:

Example 0

# test.py
print(f'__name__ 在 test.py 值為 {__name__}')

然后直接執(zhí)行一下代碼

$ python test.py

然后看一下輸出

$ python test.py 
__name__ 在 test.py 值為 __main__

在這個(gè)例子中,我們發(fā)現(xiàn) __name__ 的值是 __main__

Example 1

在這個(gè)例子中,我們重新創(chuàng)建一個(gè)腳本 test1.py 然后我們?cè)?test1.py 中調(diào)用 test.py

# test1.py
import test
print(f'__name__ 在 test1.py 值為 {__name__}')

接著執(zhí)行一下 test1.py,再看一下輸出

python test1.py 
__name__ 在 test.py 值為 test
__name__ 在 test1.py 值為 __main__

結(jié)果是不是很有意思?整個(gè)過程是什么樣子的呢?簡(jiǎn)單的畫了一個(gè)圖

什么時(shí)候使用 __name__

有時(shí)候,我們用 Python 寫了一個(gè)腳本,當(dāng)我們既希望這個(gè)腳本可以單獨(dú)運(yùn)行,同樣希望它可以在其他的腳本中發(fā)揮作用. 這個(gè)時(shí)候就需要考慮使用 __name__ 了. 這里通過改造上面 Example 1的例子來直觀感受一下

修改一下 test.py 文件

# test.py
def hello(name):
 print(f'Hello,{name}')
if __name__ == '__main__':
 hello("test")

再修改一下 test1.py 文件

# test1.py
from test import hello
hello("test1")

然后讓我們先嘗試直接運(yùn)行一下 test.py,很顯然這個(gè)時(shí)候, if 語句條件滿足,會(huì)輸出 Hello,test

$ python test.py 
Hello,test

這個(gè)時(shí)候我們?nèi)绻\(yùn)行 test1.py,程序就會(huì)輸出 Hello,test1 了

$ python test1.py 
Hello,test1

如果我們把 if __name__ == "__main__"test.py 去掉會(huì)發(fā)生什么呢?

$ python test1.py 
Hello,test
Hello,test1

參考

What does if name == “main”: do?

到此這篇關(guān)于Python __name__ 是什么的文章就介紹到這了,更多相關(guān)Python __name__ 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文搞懂python異常處理、模塊與包

    一文搞懂python異常處理、模塊與包

    異常就是系統(tǒng)中的錯(cuò)誤,程序是無法改變和處理的,文中有給大家提到異常處理機(jī)制,模塊與包的相關(guān)知識(shí),通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • Python+Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制

    Python+Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制

    散點(diǎn)圖是指在回歸分析中,數(shù)據(jù)點(diǎn)在直角坐標(biāo)系平面上的分布圖,散點(diǎn)圖表示因變量隨自變量而變化的大致趨勢(shì),據(jù)此可以選擇合適的函數(shù)對(duì)數(shù)據(jù)點(diǎn)進(jìn)行擬合。本文將利用Python Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制,需要的可以參考一下
    2022-06-06
  • Python根據(jù)URL地址下載文件并保存至對(duì)應(yīng)目錄的實(shí)現(xiàn)

    Python根據(jù)URL地址下載文件并保存至對(duì)應(yīng)目錄的實(shí)現(xiàn)

    這篇文章主要介紹了Python根據(jù)URL地址下載文件并保存至對(duì)應(yīng)目錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python實(shí)現(xiàn)截屏的函數(shù)

    Python實(shí)現(xiàn)截屏的函數(shù)

    這篇文章主要介紹了Python實(shí)現(xiàn)截屏的函數(shù),可實(shí)現(xiàn)Python針對(duì)屏幕的截屏功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-07-07
  • 八個(gè)超級(jí)好用的Python自動(dòng)化腳本(小結(jié))

    八個(gè)超級(jí)好用的Python自動(dòng)化腳本(小結(jié))

    每天你都可能會(huì)執(zhí)行許多重復(fù)的任務(wù),例如閱讀新聞、發(fā)郵件、查看天氣、打開書簽、清理文件夾等等,本文主要介紹了Python自動(dòng)化腳本,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-07-07
  • python怎么去除字符串最后的換行符‘\n’

    python怎么去除字符串最后的換行符‘\n’

    這篇文章主要介紹了python去除字符串最后的換行符'\n',本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Python中執(zhí)行存儲(chǔ)過程及獲取存儲(chǔ)過程返回值的方法

    Python中執(zhí)行存儲(chǔ)過程及獲取存儲(chǔ)過程返回值的方法

    這篇文章主要介紹了Python中執(zhí)行存儲(chǔ)過程及獲取存儲(chǔ)過程返回值的方法,結(jié)合實(shí)例形式總結(jié)分析了Python調(diào)用存儲(chǔ)過程的常用方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2017-10-10
  • Python文件操作實(shí)戰(zhàn)案例之用戶登錄

    Python文件操作實(shí)戰(zhàn)案例之用戶登錄

    以前只是用c語言文件操作打過用戶登入,學(xué)了幾天的python我感覺我又行了,下面這篇文章主要給大家介紹了關(guān)于Python文件操作實(shí)戰(zhàn)案例之用戶登錄的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 淺談Python 命令行參數(shù)argparse寫入圖片路徑操作

    淺談Python 命令行參數(shù)argparse寫入圖片路徑操作

    這篇文章主要介紹了淺談Python 命令行參數(shù)argparse寫入圖片路徑操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python正則表達(dá)式匹配HTML頁面編碼

    Python正則表達(dá)式匹配HTML頁面編碼

    這篇文章主要介紹了Python正則表達(dá)式匹配HTML頁面編碼,本文直接給出代碼和匹配實(shí)例,需要的朋友可以參考下
    2015-04-04

最新評(píng)論