簡體   English   中英

Python腳本必須將函數定義為main嗎?

[英]Must Python script define a function as main?

Python腳本必須/應該有main()函數嗎? 例如,可以替換

if __name__ == '__main__':
  main()

if __name__ == '__main__':
  entryPoint()

(或其他一些有意義的名字)

使用名為main()的函數只是一種約定。 你可以給它任何你想要的名字。

當代碼沒有作為__main__模塊執行時,測試模塊名稱只是防止代碼運行的一個很好的技巧 (即不是在Python開始時導入,而是作為模塊導入時)。 if測試,您可以運行任何您喜歡的代碼。

在這種情況下使用函數有助於通過將名稱分流到本地名稱空間來保持模塊的全局名稱空間不整潔。 命名函數main()是常見的,但不是必需的。

不,Python腳本不必具有main()函數。 它只是遵循約定,因為您放在if __name__ == '__main__':語句下的函數是真正完成腳本所有工作的函數,因此它是主函數。 如果確實有函數名稱可以使程序更容易閱讀和更清楚,那么您可以改為使用該函數名稱。

事實上,你甚至不需要 if __name__ == '__main__': part,但這是一個很好的做法,而不僅僅是一個約定。 當您將文件作為模塊導入時,它將阻止main()函數或您想要運行的任何其他函數。 如果你不想導入腳本,你可能不需要它,但它仍然是一個很好的做法。 有關它的更多信息以及它為什么會這樣做 ,請參閱if __name__ ==“__ main__”會怎么樣?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM