你可能在 Python 腳本中經常看到這樣的程式碼 if __name__=="__main__": ,但不知道它的實際用途是什麼。別擔心,因為在這個簡短的部落格中我們將討論這個
當您直接執行程式或腳本時,Python 會自動將「main」指派給特殊的name變數。這樣做基本上是為了表明該文件是此處的“主”腳本,並且正在直接運行而不是導入到另一個腳本中。
要理解這一點,請建立一個新的 Python 腳本,假設將其命名為「example.py」並寫入:
執行此命令,您將看到輸出的腳本名稱:__main__。這只是因為文件是直接運行的。
現在,建立另一個Python腳本檔案並將example.py匯入到這個檔案中。運行它,您將看到不同的結果,顯示“腳本名稱:範例”。這只是因為現在我們不是直接運行它,而是導入腳本並間接運行它。因此,Python 現在顯示檔案的實際名稱。
讓我們對範例文件進行一些更改,以便我們更好地理解它。
現在,如果您直接執行此命令,一切都會完美執行,但如果您執行導入 example.py 腳本的其他文件,您會注意到greet 函數呼叫未執行。這是為什麼?
這是因為 if 條件。條件的作用是檢查檔案是否正在直接運作。如果直接運行,main將被分配給特殊變數name,這將使這個條件成立,並且條件內的所有內容都將照常運行。
但另一方面,如果您將其匯入另一個檔案並從那裡間接運行它,那麼條件語句將不為真,並且放置在條件中的任何內容都不會被執行。
這就是這個條件語句的意義。 當我們將腳本作為模組導入時,它可以防止Python解釋器自動運行不必要的程式碼行。
但是,即使我們將腳本作為模組導入,我們也可以呼叫這些函數。例如:
這樣,即使條件不滿足,我們也可以完美地呼叫導入模組中的任何函數。
以上是if __name__ =__main__ 在 Python 中做什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!