最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解python中if?__name__?==?‘__main__‘

 更新時(shí)間:2023年08月24日 11:26:45   作者:禾達(dá)達(dá)  
很多python的文件中會(huì)有語(yǔ)句if?__name=='__main__':,一直不太明白,最近查閱了一下資料,現(xiàn)在明白,本文就來(lái)深入理解一下,感興趣的可以了解一下

1. 一個(gè)簡(jiǎn)單的例子

先來(lái)看一份代碼:

# test.py
def addFunc(a, b):
    return a + b
print('the result of test is: 1 + 1 = ', addFunc(1, 1))
# mode.py
import test
print('The result of test modula is :', test.addFunc(12, 23))

執(zhí)行 mode.py 輸出如下:

the result of test is: 1 + 1 =  2
The result of test modula is : 35

這里輸出的語(yǔ)句中,同時(shí)包含了 test.py 和 mode.py 中的內(nèi)容。那么問(wèn)題來(lái)了,很多時(shí)候調(diào)用者并不需要輸出 test.py 里面的內(nèi)容,這個(gè)時(shí)候應(yīng)該怎么處理呢?添加另外一個(gè)不輸出的版本 test_no_print.py ?
python 中提供了 __name__ 這個(gè)系統(tǒng)變量來(lái)解決這個(gè)問(wèn)題,先看修改后的代碼:

# test.py
def addFunc(a, b):
    return a + b
if __name__ == '__main__':
    print('the result of test is: 1 + 1 = ', addFunc(1, 1))

單獨(dú)執(zhí)行 test.py 結(jié)果如下:

the result of test is: 1 + 1 =  2

沒(méi)有問(wèn)題,這是我們想要的結(jié)果。
執(zhí)行 mode.py:

The result of test modula is : 35

這恰恰也是我們想要的結(jié)果。
那么問(wèn)題來(lái)了,__name__ 里面究竟是個(gè)什么神奇的值?

2. __name__ 的值

修改 test.py 如下使其輸出 __name__ 的值:

# test.py
def addFunc(a, b):
    return a + b
if __name__ == '__main__':
    print('the result of test is: 1 + 1 = ', addFunc(1, 1))
print("The value of '__name__' is ", __name__)

分別執(zhí)行 test.py 和 mode.py 結(jié)果如下:

the result of test is: 1 + 1 =  2
The value of '__name__' is  __main__

The value of '__name__' is  test
The result of test modula is : 35

可以看到,單獨(dú)執(zhí)行 test.py 時(shí),__name__ 的值是 ‘__main__’,而作為模塊被 import 到其他文件中調(diào)用時(shí),__name__ 的值則是模塊的名字。

我們知道,有兩種方法可以使用 python 文件來(lái)執(zhí)行它實(shí)現(xiàn)的功能,一個(gè)是直接運(yùn)行,一個(gè)是被其他文件導(dǎo)入后調(diào)用。當(dāng)它被直接運(yùn)行時(shí),當(dāng)前文件就是程序的主入口,這相當(dāng)于 C 或者 Java 中的 main 函數(shù)。當(dāng)它被其他文件導(dǎo)入調(diào)用時(shí),程序的入口自然在其他文件中。

__name__ 是 python 的內(nèi)置屬性,這個(gè)系統(tǒng)全局變量用來(lái)表示當(dāng)前模塊的名字。而 __main__ 就是一個(gè)代表程序入口的字符串。 因此 if __name__ == ‘__main__’ 其實(shí)就是判斷程序的入口是不是當(dāng)前的文件!

到此這篇關(guān)于深入理解python中if __name__ == ‘__main__‘的文章就介紹到這了,更多相關(guān)python if __name__ == ‘__main__‘內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3+PyQt5自定義視圖詳解

    python3+PyQt5自定義視圖詳解

    這篇文章主要為大家詳細(xì)介紹了python3+PyQt5自定義視圖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python進(jìn)階篇之字典操作總結(jié)

    Python進(jìn)階篇之字典操作總結(jié)

    字典是Python語(yǔ)言中唯一的映射類型。字典對(duì)象是可變的,它是一個(gè)容器類型,能存儲(chǔ)任意個(gè)數(shù)的Python對(duì)象,其中也可包括其他容器類型。在學(xué)習(xí)了 Python 基本的字典操作后,通過(guò)學(xué)習(xí)本文的這些進(jìn)階操作,讓寫出的代碼更加優(yōu)雅簡(jiǎn)潔和pythonic。下面來(lái)一起看看吧。
    2016-11-11
  • Python如何實(shí)用File文件的實(shí)現(xiàn)

    Python如何實(shí)用File文件的實(shí)現(xiàn)

    本文主要介紹了Python如何實(shí)用File文件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 利用python生成一個(gè)終極復(fù)雜的跳動(dòng)小紅心動(dòng)畫

    利用python生成一個(gè)終極復(fù)雜的跳動(dòng)小紅心動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了一個(gè)使用Python內(nèi)置turtle模塊實(shí)現(xiàn)的跳動(dòng)愛(ài)心動(dòng)畫特效,無(wú)需安裝任何第三方庫(kù),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • 徹底搞懂python 迭代器和生成器

    徹底搞懂python 迭代器和生成器

    這篇文章主要介紹了python 迭代器和生成器的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python串口如何讀取byte類型數(shù)據(jù)并訪問(wèn)

    python串口如何讀取byte類型數(shù)據(jù)并訪問(wèn)

    這篇文章主要介紹了python串口如何讀取byte類型數(shù)據(jù)并訪問(wèn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python深入學(xué)習(xí)之對(duì)象的屬性

    Python深入學(xué)習(xí)之對(duì)象的屬性

    這篇文章主要介紹了Python深入學(xué)習(xí)之對(duì)象的屬性,本文從較深的層次講解對(duì)象屬性的內(nèi)部運(yùn)行方式,需要的朋友可以參考下
    2014-08-08
  • Python(Pandas、Dask、PySpark等庫(kù))在大數(shù)據(jù)處理中的學(xué)習(xí)心得

    Python(Pandas、Dask、PySpark等庫(kù))在大數(shù)據(jù)處理中的學(xué)習(xí)心得

    作者分享了他對(duì)Python在大數(shù)據(jù)處理中的學(xué)習(xí)心得,介紹了大數(shù)據(jù)的概念、特點(diǎn)及處理挑戰(zhàn),討論了Python的優(yōu)勢(shì)及常用的大數(shù)據(jù)處理庫(kù),比較了Python與Rust在大數(shù)據(jù)處理中的優(yōu)劣,并提出了大數(shù)據(jù)處理的最佳實(shí)踐
    2026-04-04
  • Python中pytest命令行實(shí)現(xiàn)環(huán)境切換

    Python中pytest命令行實(shí)現(xiàn)環(huán)境切換

    在自動(dòng)化測(cè)試過(guò)程中經(jīng)常需要在不同的環(huán)境下進(jìn)行測(cè)試驗(yàn)證,所以寫自動(dòng)化測(cè)試代碼時(shí)需要考慮不同環(huán)境切換的情況,本文主要介紹了Python中pytest命令行實(shí)現(xiàn)環(huán)境切換,感興趣的可以了解一下
    2023-07-07
  • Python生產(chǎn)者與消費(fèi)者模型中的優(yōu)勢(shì)介紹

    Python生產(chǎn)者與消費(fèi)者模型中的優(yōu)勢(shì)介紹

    這篇文章主要介紹了python多進(jìn)程中的生產(chǎn)者和消費(fèi)者模型優(yōu)勢(shì),生產(chǎn)者是指生產(chǎn)數(shù)據(jù)的任務(wù),消費(fèi)者是指消費(fèi)數(shù)據(jù)的任務(wù)。當(dāng)生產(chǎn)者的生產(chǎn)能力遠(yuǎn)大于消費(fèi)者的消費(fèi)能力,生產(chǎn)者就需要等消費(fèi)者消費(fèi)完才能繼續(xù)生產(chǎn)新的數(shù)據(jù)
    2023-03-03

最新評(píng)論

东莞市| 信丰县| 马山县| 玛纳斯县| 大化| 亳州市| 郑州市| 米泉市| 保定市| 固安县| 海兴县| 天峻县| 新密市| 东平县| 康乐县| 临武县| 山东| 托克逊县| 沙河市| 西畴县| 宁阳县| 武宣县| 宜州市| 荔浦县| 安多县| 莱西市| 都兰县| 新兴县| SHOW| 吉安县| 平安县| 永仁县| 确山县| 大余县| 大邑县| 江华| 东乌珠穆沁旗| 乌拉特中旗| 简阳市| 扎囊县| 二手房|