日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39;

發(fā)布時(shí)間:2025/3/15 python 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39; 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們?cè)趐ython模塊那章節(jié)的學(xué)習(xí),有所接觸到if __name__ == '__main__'這個(gè)概念。當(dāng)時(shí)我們只是大概描述了一番,不少伙伴還是有所困惑,今天就讓我們通過(guò)實(shí)際例子去講解這條語(yǔ)句到底有何含義。一個(gè)python文件有兩種用途,一種被當(dāng)主程序、腳本執(zhí)行,另一種被當(dāng)模塊導(dǎo)入,為了區(qū)別同一個(gè)文件的不同用途,每個(gè)py文件都內(nèi)置了__name__變量,該變量在py文件被當(dāng)做腳本執(zhí)行時(shí)賦值為“__main__”,在py文件被當(dāng)做模塊導(dǎo)入時(shí)賦值為模塊名。

如模塊my_module.py中,可以在文件末尾基于__name__在不同應(yīng)用場(chǎng)景下值的不同來(lái)控制文件執(zhí)行不同的邏輯,如下所示:

#encoding:UTF-8#本文件為:my_module.py...if __name__ == '__main__': my_module.py被當(dāng)做腳本執(zhí)行else: my_module.py被當(dāng)做模塊導(dǎo)入時(shí)執(zhí)行

首先建立一個(gè)python文件,如test1.py,文件代碼如下所示:

#encoding:UTF-8#本文件名為:test1.pydef print_hello(): print("歡迎關(guān)注公眾號(hào):浩道linux")print("本公眾號(hào)給大家分享最有趣最實(shí)用的linux、python知識(shí)!")#打印__name__的值print(__name__)if __name__ == '__main__': print("test1.py當(dāng)做腳本執(zhí)行執(zhí)行!!!")else: print("test1.py被當(dāng)做模塊導(dǎo)入時(shí)執(zhí)行。。。")

運(yùn)行以上代碼,結(jié)果如下所示:

從結(jié)果看出,當(dāng)執(zhí)行test1.py本身文件時(shí),變量__name__的值為_(kāi)_main__。

其次,再創(chuàng)建一個(gè)python文件,如test2.py,文件代碼如下:

#encoding:UTF-8#本文件名為:test2.py#導(dǎo)入模塊test1import test1test1.print_hello()print("代碼執(zhí)行結(jié)束********")

執(zhí)行test2.py文件,結(jié)果如下所示:

通過(guò)模塊那篇知識(shí)的學(xué)習(xí),不難看出test2.py所執(zhí)行原理以及結(jié)果。當(dāng)test1.py被當(dāng)成模塊導(dǎo)入時(shí),__name__的值由__main__變成了test1。

相信通過(guò)這兩個(gè)例子的比較,已經(jīng)弄懂if __name__ == '__main__'的用法了吧。用到該語(yǔ)句的場(chǎng)景一般就是我們寫(xiě)完一個(gè)函數(shù)代碼,自己想調(diào)用執(zhí)行測(cè)試,而又不希望自己寫(xiě)的代碼被當(dāng)成模塊導(dǎo)入時(shí),執(zhí)行我們的測(cè)試代碼。大家如果還有疑問(wèn),可以留言討論,希望能給大家?guī)?lái)解惑。

往期內(nèi)容回顧:

干貨之六:python常見(jiàn)面試題,你會(huì)多少?

平時(shí)你輸入的驗(yàn)證碼,竟是這么簡(jiǎn)單就實(shí)現(xiàn)了

python常見(jiàn)模塊之time模塊

python實(shí)戰(zhàn)項(xiàng)目之---童年小游戲(附源碼)

總結(jié)

以上是生活随笔為你收集整理的if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39;的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。