日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

關于python中if __name=‘__main__‘的理解

作者:bingoCoder 更新時間: 2022-04-01 編程語言

關于’__name __’

首先創(chuàng)建兩個py文件A.py和B.py,我們來看一下他們各自的‘__name __’屬性。

A.py

print('this is A.my __name__ is: '+__name__)

B.py

print('this is B.my __name__ is: '+__name__)

輸出結果如下:
name屬性
由此可見它們的__name__屬性都是__main__。如果我們在A中引入B,即
在A的文件中加入import B語句。再看一下各自的__name__屬性。
A.py:

import B
print('this is A.my __name__ is: '+__name__)

執(zhí)行結果:
在這里插入圖片描述
當B被引入時,B的__name__屬性變成了自己的文件名,A依然是__main__。

為什么要使用 if __name __ == ‘__main’

可以看到剛才A在導入B的時候,B中的輸出語句被自動執(zhí)行了,這顯然不是我們想看到的。一個py文件作為模塊被導入的時,其中的函數會自動執(zhí)行。在B.py中加入 if__name__ == ‘main’ 。把B中的print語句寫在if 判斷的下面。

if __name__  ==  '__main__' :
    print('this is B.my __name__ is: '+__name__)

再次執(zhí)行A。結果如下:
在這里插入圖片描述
這次執(zhí)行結果中就沒有了B的輸出語句。在設計一個被其他文件引入的模塊時,可以將函數調用語句放到 if__name__ == ‘main’ 下面。這樣import模塊時就不會自動執(zhí)行了。因為被引入的模塊的 name__屬性是文件名,不是__main___。
以上是我的粗淺理解。

原文鏈接:https://blog.csdn.net/bingocoder/article/details/121116173

欄目分類
最近更新