首頁 >後端開發 >Python教學 >if __name__ =&#__main__&# 在 Python 中做什麼?

if __name__ =&#__main__&# 在 Python 中做什麼?

PHPz
PHPz原創
2024-07-29 07:00:03543瀏覽

What does if __name__ =

你可能在 Python 腳本中經常看到這行程式碼 if __name__=="__main__": ,但不知道它的實際用途是什麼。別擔心,因為在這篇簡短的部落格中我們將討論這個

當您直接執行程式或腳本時,Python 會自動將「main」指派給特殊的 name 變數。這樣做基本上是為了表明該文件是此處的“主”腳本,並且正在直接運行而不是導入到另一個腳本中。

要理解這一點,請建立一個新的 Python 腳本,假設將其命名為「example.py」並寫入:

print("Name of Script: ", __name__)

執行此命令,您將看到輸出的腳本名稱:__main__。這只是因為文件是直接運行的。

現在,建立另一個 python 腳本檔案並將 example.py 匯入到此檔案中。運行它,您將看到不同的結果,顯示腳本名稱:範例。這只是因為現在我們不是直接運行它,而是導入腳本並間接運行它。因此,Python 現在顯示檔案的實際名稱。

讓我們對範例文件進行一些更改,以便我們可以更好地理解它。

def s_name():
    print("Name of Script: ", __name__)

s_name()

def greet():
    print("Hello! How are you doing?")

if __name__=="__main__":
    greet()

現在,如果您直接執行此命令,所有內容都將完美執行,但如果您執行導入 example.py 腳本的其他文件,您會注意到greet 函數呼叫未執行。這是為什麼?

這是因為 if 條件。條件的作用是檢查檔案是否正在直接運作。如果直接運行,main 將被分配給特殊變數 name,這將使此條件成立,並且條件內的所有內容將照常運行。

但另一方面,如果您將其匯入另一個檔案並從那裡間接運行它,那麼條件語句將不為真,並且放置在條件中的任何內容都不會被執行。

這就是這個條件語句的意義。 當我們將腳本匯入為模組時,它可以防止 Python 解釋器自動執行不必要的程式碼行。

但是,即使我們將腳本作為模組導入,我們也可以呼叫這些函數。例如:

import example

example.greet()

這樣,即使條件不滿足,我們也可以完美地呼叫導入模組中的任何函數。

以上是if __name__ =&#__main__&# 在 Python 中做什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn