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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

if __name__ == __main__:什么意思_秒懂Python编程中的if __name__ == 'main' 的作用和原理...

發布時間:2025/3/15 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 if __name__ == __main__:什么意思_秒懂Python编程中的if __name__ == 'main' 的作用和原理... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:菜鳥分析 鏈接:

https://zhuanlan.zhihu.com/p/34112508

一天偶然發現知乎上有篇關于對python編程中的if __name__ == 'main'的理解陳述,看完之后,自己覺得不夠簡單明了,于是在其文章底部寫了一句話,突然收獲各位乎友滿滿的贊同:

一句話,秒懂

__name__ 是當前模塊名,當模塊被直接運行時模塊名為 __main__ 。這句話的意思就是,當模塊被直接運行時,以下代碼塊將被運行,當模塊是被導入時,代碼塊不被運行。

相信初學者在學習Python的過程中,不可避免的總會遇到if __name__ == 'main'語句,雖然一直知道它的作用,但是可能一直比較模糊,今天菜鳥分析就與大家一起舉例說說我的理解。

舉個例子,我們在下面在test.py中寫入如下代碼:

print('戀習Python')
def main:
print('戀習Python')
if __name__ == '__main__':
main
print('跟著菜鳥分析,練習Python越練越戀')

運行代碼,則輸出結果為:

然后,在同一文件夾新建名稱為import_test.py的腳本,只輸入代碼:

import test

運行代碼,則輸出結果為:

與之前test.py代碼運行結果比較,只有輸出戀習Python,也就是if __name__=="__main__": 之前的語句被執行,之后的沒有被執行。

這是為什么呢?別急,菜鳥分析繼續給你舉例子說明,絕對讓你滿意為止,最后有一種豁然開朗的感覺。

現在,我們在test.py腳本的if __name__=="__main__":之前加入print __name__,即將__name__打印出來,則最后運行結果如下:

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

再執行import_test.py,模塊內容和執行結果如下:

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

哈哈,是不是一下明白啦,覺得不錯,給菜鳥分析點個贊哦!

再仔細想想,其運行原理也就是:

由于每個Python模塊(Python文件)都包含內置的變量__name__,當運行模塊被執行的時候,__name__等于文件名(包含了后綴.py)。如果import到其他模塊中,則__name__等于模塊名稱(不包含后綴.py)。而“__main__”等于當前執行文件的名稱(包含了后綴.py)。所以當模塊被直接執行時,__name__ == '__main__'結果為真;而當模塊被import到其他模塊中時,__name__ == '__main__'結果為假,就是不調用對應的方法。

簡而言之就是:__name__ 是當前模塊名,當模塊被直接運行時模塊名為 __main__ 。當模塊被直接運行時,代碼將被運行,當模塊是被導入時,代碼不被運行。

一句話,秒懂!

(完)

Python學習交流群

為了讓大家更加即時地溝通學習,我們建了一個Python學習交流群,有想入群的同學,可以添加下面小助手微信,他會拉大家入群哈~

總結

以上是生活随笔為你收集整理的if __name__ == __main__:什么意思_秒懂Python编程中的if __name__ == 'main' 的作用和原理...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。