- JAVA中:
程序的運行會從main函數開始,所以必須有一個包含Main方法的主類,作爲程序入口。
- Python中:
它屬於腳本語言,不像編譯型語言那樣先將程序編譯成二進制再運行,而是動態的逐行解釋運行。也就是從腳本第一行開始運行,沒有統一的入口。
一個Python源碼文件(.py)除了可以被直接運行外,還可以作爲模塊(也就是庫),被其他.py文件導入。不管是直接運行還是被導入,.py文件的最頂層代碼都會被運行(Python用縮進來區分代碼層次),而當一個.py文件作爲模塊被導入時,我們可能不希望一部分代碼被運行。
那麼我們需要區分作爲模塊導入還是直接運行,從而有了
if __name__ == "__main__":
main()
意思爲:當直接運行該文件的之後,執行下面代碼塊;如果是作爲模板導入,則不運行