__main__ --- 頂層腳本環境?


'__main__' 是頂層代碼執行的作用域的名稱。模塊的 __name__ 在通過標準輸入、腳本文件或是交互式命令讀入的時候會等于 '__main__'

模塊可以通過檢查自己的 __name__ 來得知是否運行在 main 作用域中,這使得模塊可以在作為腳本或是通過 python -m 運行時條件性地執行一些代碼,而在被 import 時不會執行。

if __name__ == "__main__":
    # execute only if run as a script
    main()

對軟件包來說,通過加入 __main__.py 模塊可以達到同樣的效果,當使用 -m 運行模塊時,其中的代碼會被執行。