1. 直接運行創(chuàng)建" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > python “__name__”到底是什么東西!

python “__name__”到底是什么東西!

時間:2023-02-20 02:12:02 | 來源:建站知識

時間:2023-02-20 02:12:02 來源:建站知識

python “__name__”到底是什么東西?。?h2 data-first-child>背景大家經常在 python 的腳本文件中,會遇到這樣的代碼:if __name__ == "__main__":,那么有沒有人知道這到底是干嘛的。今天就分享一下這個到底是干嘛的。

1. 直接運行

創(chuàng)建一個文件夾code0516。然后在這個文件夾下創(chuàng)建一個名叫one.py文件,并且寫入下面的代碼:

# file one.pydef func(): # Line 1.1 print("func() in ONE.py")print("top-level in ONE.py") # line 1.2if __name__ == "__main__": print("ONE.py is being run directly") # line 1.3else: print(f"ONE.py __name__ is {__name__}") # line 1.4 print("ONE.py is being imported into another module") # line 1.5然后運行:python one.py,運行結果如下:

觀察上面的結果可以發(fā)現,代碼中的 # line 1.2 、# line 1.3部分都運行了,別的都沒運行。

為什么?這里給到一個解釋:

  1. 要知道,我們使用python one.py命令運行one.py文件,叫直接運行。(感覺說了就像是沒說一樣)。
  2. __name__其實是 python 的內置的一個變量。
  3. 當直接運行腳本的時候,__name__就成了__main__。
  4. 為什么會這樣設置?那就是這樣設置的,沒有為什么。

2. 導入運行

接下來在文件夾code0516下,創(chuàng)建另外一個叫two.py文件。并且寫入下面的代碼:

# file two.pyimport oneprint("top-level in TWO.py") # line 2.1one.func() # line 2.2if __name__ == "__main__": print("TWO.py is being run directly") # line 2.3else: print("TWO.py is being imported into another module") # line 2.4然后運行:python two.py,運行結果如下:

觀察上面的運行結果可以發(fā)現:# line 1.2、 # line 1.4# line 1.5、# line 2.1、# line 1.1# line 2.2、# line 2.3部分都運行了,別的都沒運行。

我們來對two.py文件運行的結果逐行分析一下,但是我們這里有下面幾個要求要注意:

  1. import one這就是代表 導入運行(就是導入這個文件,反正不是直接運行了)。
  2. 當腳本被導入的時候(像是import one這樣的形式的),__name__就成了腳本本身的名字了,這里的腳本名字為one,因此這里的__name__也就變成了one。

two.py直接運行分析

運行結果結果來源于哪一行為什么會運行這一行 (two.py)
top-level in ONE.py# line 1.2import one
ONE.py __name__ is one# line 1.4import one
ONE.py is being imported into another module# line 1.5import one
top-level in TWO.py# line 2.1print("top-level in TWO.py")
func() in ONE.py# Line 1.1one.func()
TWO.py is being run directly# line 2.3print("TWO.py is being run directly")

總結

  1. 使用python one.py命令運行one.py文件,叫直接運行。(感覺說了就像是沒說一樣)。
  2. __name__其實是 python 的內置的一個變量。
  3. 當直接運行腳本的時候,__name__就成了__main__。
  4. 當腳本被導入的時候(像是import one這樣的形式的),__name__就成了腳本本身的名字了,這里的腳本名字為one,因此這里的__name__也就變成了one。

參考鏈接:

  1. https://zhuanlan.zhihu.com/p/57309137
  2. https://stackoverflow.com/questions/419163/what-does-if-name-main-do

閱讀更多

list

關鍵詞:

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉