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

聊聊Python代碼中if?__name__?==?‘__main__‘的作用是什么

 更新時間:2022年03月16日 16:38:38   作者:昊虹圖像算法  
一個python文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的python腳本中被調(diào)用執(zhí)行,這篇文章主要給大家介紹了關(guān)于Python代碼中if?__name__?==?‘__main__‘的作用是什么的相關(guān)資料,需要的朋友可以參考下

Python中if __name__ == ‘__main__‘作用

要搞清楚這個問題,要知道以py作為后綴的Python代碼文件,有兩種使用方式,第一種方式是直接運行,另一種方式是作為模塊被別的py文件導入。

當采用第一種方式直接運行自身時,__name__的值為__main__;

當采用第二種方式被別的模塊導入時,其__name__的值為其文件名(通常也稱為模塊名);

舉例實測如下:

用PyCharm新建一個Python工程后,新建兩個py文件,文件名分別為AAA.py和BBB.py

然后在AAA.py中寫上如下代碼:

print('當前AAA.py中__name__的值為:', __name__)

在BBB.py中寫上如下代碼:

import AAA

然后分別運行這兩個Python文件,結(jié)果如下:

運行AAA.py的結(jié)果如下:

運行BBB.py的結(jié)果如下:

這個示例除了應(yīng)證了上面說的py文件的兩種使用方式,還表明使用import導入py文件/模塊時,這個被導入的py文件中沒有縮進的代碼會被全部執(zhí)行一遍。

這樣就帶來了一個問題,如果我在導入模塊AAA.py時如果有想代碼不想被執(zhí)行,那么該怎么做呢?語句“if __name__ == ‘__main__’”就能實現(xiàn)這個作用,具體怎么用,有朋友看了上面的例子應(yīng)該已經(jīng)明白了,如果還不明白,請看下面這個例子:

修改上面的AAA.py的代碼為如下代碼:

print('\n')
print('當前AAA.py中__name__的值為“{}”'.format(__name__))
if __name__ == '__main__':
    print('\n')
    print('當前運行的文件是AAA.py')
else:
    print('\n')
print('當前AAA.py是作為模塊被其它py文件導入')

再次分別運行AAA.py和BBB.py,結(jié)果分別如下:

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

可見通過語句“if __name__ == ‘__main__’,就能判斷出一個py文件是直接運行還是作為模塊文件被別的py文件導入的,進而通過這個判斷實現(xiàn)一些代碼的不被執(zhí)行。

那么通常來說哪些代碼不希望被執(zhí)行呢?當文件被作者定義為一個模塊時,里面難免含有一些測試代碼,當模塊被import時,這些代碼是不希望被執(zhí)行的。

補充:if __name__ == '__main__':的運行原理

每個python模塊(python文件,也就是此處的 test.py 和 import_test.py)都包含內(nèi)置的變量 __name__,當該模塊被直接執(zhí)行的時候,__name__ 等于文件名(包含后綴 .py );如果該模塊 import 到其他模塊中,則該模塊的 __name__ 等于模塊名稱(不包含后綴.py)。

 “__main__” 始終指當前執(zhí)行模塊的名稱(包含后綴.py)。進而當模塊被直接執(zhí)行,__name__ == 'main' 結(jié)果為真。

為了進一步說明,我們在 test.py 腳本的 if __name__=="__main__": 之前加入 print(__name__),即將 __name__ 打印出來。文件內(nèi)容和結(jié)果如下:

可以看出,此時變量__name__的值為"__main__"。

再執(zhí)行 import_test.py,執(zhí)行結(jié)果如下:

此時,test.py中的__name__變量值為 test,不滿足 __name__=="__main__" 的條件,因此,無法執(zhí)行其后的代碼。

總結(jié)

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

相關(guān)文章

  • python批量檢查兩個對應(yīng)的txt文件的行數(shù)是否一致的實例代碼

    python批量檢查兩個對應(yīng)的txt文件的行數(shù)是否一致的實例代碼

    這篇文章主要介紹了python批量檢查兩個對應(yīng)的txt文件的行數(shù)是否一致,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Python 使用 PyQt5 開發(fā)的關(guān)機小工具分享

    Python 使用 PyQt5 開發(fā)的關(guān)機小工具分享

    這篇文章主要介紹了Python 使用 PyQt5 開發(fā)的關(guān)機小工具分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python模塊引入問題和解決方案

    python模塊引入問題和解決方案

    本文主要介紹了python模塊引入問題和解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Python批量生成幻影坦克圖片實例代碼

    Python批量生成幻影坦克圖片實例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用Python批量生成幻影坦克圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • python如何利用matplotlib繪制并列雙柱狀圖并標注數(shù)值

    python如何利用matplotlib繪制并列雙柱狀圖并標注數(shù)值

    Python之中最好的圖表庫叫matplotlib,matplotlib,顧名思義就是提供了一整套和matlab相似的API,它的文檔相當完備,下面這篇文章主要給大家介紹了關(guān)于python如何利用matplotlib繪制并列雙柱狀圖并標注數(shù)值的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Pytorch中的variable, tensor與numpy相互轉(zhuǎn)化的方法

    Pytorch中的variable, tensor與numpy相互轉(zhuǎn)化的方法

    這篇文章主要介紹了Pytorch中的variable, tensor與numpy相互轉(zhuǎn)化的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • 使用Python編寫簡單的畫圖板程序的示例教程

    使用Python編寫簡單的畫圖板程序的示例教程

    這篇文章主要介紹了使用Python編寫簡單的畫圖板軟件的示例教程,利用到了經(jīng)常被用來做游戲的pygame模塊,需要的朋友可以參考下
    2015-12-12
  • Python實現(xiàn)的從右到左字符串替換方法示例

    Python實現(xiàn)的從右到左字符串替換方法示例

    這篇文章主要介紹了Python實現(xiàn)的從右到左字符串替換方法,涉及Python字符串遍歷、運算、判斷、替換等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 從基礎(chǔ)到高階詳解Python數(shù)據(jù)匯總與統(tǒng)計的完全指南

    從基礎(chǔ)到高階詳解Python數(shù)據(jù)匯總與統(tǒng)計的完全指南

    在當今的??數(shù)據(jù)驅(qū)動時代??,高效地進行數(shù)據(jù)匯總與統(tǒng)計分析已成為開發(fā)者、數(shù)據(jù)分析師和科研人員的??核心競爭力??,本文將全面探討Python中數(shù)據(jù)匯總與統(tǒng)計的各種方法,感興趣的小伙伴可以了解下
    2025-10-10
  • 一文理解Python命名機制

    一文理解Python命名機制

    這篇文章主要介紹的是Python的命名機制,文章回先提出問題,然后根據(jù)問題逐步解析,感興趣的小伙伴可以參考一下,希望對你有所幫助
    2021-10-10

最新評論

夹江县| 彭州市| 霍州市| 肇庆市| 尤溪县| 陕西省| 元谋县| 彰化市| 滁州市| 兴业县| 蓝田县| 邛崃市| 昌都县| 武强县| 砚山县| 绿春县| 临海市| 广平县| 南靖县| 卢氏县| 象州县| 吐鲁番市| 唐河县| 台北县| 阜城县| 肃南| 保康县| 彭水| 称多县| 武山县| 那坡县| 盘锦市| 张家界市| 乐至县| 五华县| 泰兴市| 柞水县| 陇南市| 和龙市| 鹤庆县| 曲水县|