當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python main()用法及代碼示例


在本教程中,我們將學習 Python 編程語言中的 main() 函數。我們還將了解如何在 Python 程序中利用 __name__ 屬性,以便在各種上下文中動態執行它。

讓我們從了解 Python 中的 main() 函數開始。

理解 Python 中的 main() 函數

main() 被認為是多種編程語言的獨特函數,也稱為程序文件的執行點。但是,Python 編程語言的解釋器從文件頂部開始執行每一行 serial-wise,並且沒有顯式的 main() 函數。

Python 提供了其他約定來定義執行點。其中之一是利用 main() 函數以及 python 文件的 __name__ 屬性。

現在,讓我們了解 Python 編程語言中的 __name__ 屬性。

理解 Python 中的 __name__ 屬性

__name__ 屬性是 Python 中唯一的核心變量,用於顯示當前模塊的名稱。

此屬性根據我們運行 Python 文件的位置提供不同的值。讓我們考慮一個例子來更好地理解 __name__ 屬性。

將 Python 文件作為腳本執行

讓我們考慮一下我們有一個名為 myworld.py 的 Python 文件,其中包含以下內容:

文件:myworld.py

print(__name__)

輸出:

$ python myworld.py
__main__

說明:

在上麵的程序文件中,我們打印了 __name__ 屬性的值。因此,__name__ 變量的值被設置為 __main__。

將 Python 文件作為模塊執行

我們還可以將 Python 文件作為模塊執行。為了執行此操作,我們需要將所需文件導入另一個 Python 程序。讓我們考慮以下示例以正確理解該概念。

假設我們在與 myworld.py 文件相同的目錄中創建了一個 Python 文件 python_main.py,其內容如下:

文件:python_main.py

import myworld

輸出:

$ python python_main.py
myworld

說明:

在上麵的程序文件中,我們導入了一個模塊作為 myworld.m 。結果,當我們執行 python_main.py 文件時,程序運行了模塊文件中的完整代碼。但是,我們可以觀察到顯示模塊名稱為 myworld 而不是顯示 __main__。

發生這種情況是因為,在將 Python 文件作為模塊執行的上下文中,模塊名稱本身被分配給 __name__ 變量。

將 if 語句與 __name__ 變量一起使用

由於我們已經正確理解了 __name__ 屬性是如何賦值的,我們可以利用 if 語句在不同的上下文中以不同的方式運行相同的 Python 文件。

讓我們考慮以下示例,其中更改了 myworld.py 文件的內容。

文件:myworld.py

def main():
    print("This is my Python program.")

if __name__ == "__main__":
    main()

輸出:

$ python myworld.py
This is my Python program.

說明:

在上麵的代碼片段中,我們定義了一個函數 main() 來為用戶打印一些字符串。然後我們使用 if 條件子句來檢查 __name__ 變量的值是否等於 __main__,然後 main() 函數將執行。結果,當我們執行 myworld.py 文件時,會為用戶打印字符串消息。

但是,當我們通過將文件導入 python_main.py 將文件作為模塊執行時,由於未調用 main() 函數,程序不返回任何輸出。

因此,我們可以得出結論,我們在 myworld.py 文件中定義的自定義 main() 函數隻能作為獨立腳本執行,而不能作為導入模塊執行。

這是在 Python 中顯式定義 main() 函數的標準方法。它是 Python 文件的 __name__ 屬性最流行的用例之一。





相關用法


注:本文由純淨天空篩選整理自 Python main() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。