【Python main 函數以及 __name__屬性】

來源:互聯網
上載者:User

標籤:引入   tps   todo   str   公眾號   some   邏輯   ring   解釋   

熟悉Java 或 C/C++ 程式的使用者都知道,程式的執行需要入口程式。例如,在Java中,我們在準備 Run 的類中總會定義如下的main方法作為程式入口。

public static void main(String []args){    // TODO.}

而在Python的 ".py" 檔案中,Python解譯器會執行暴露在 function中之外的全域代碼。對於main方法實際上只是我們邏輯的區分。典型的寫法為:

# hello.pyif __name__ == "__main__":    some_function()

從代碼邏輯可以看出,程式會判斷 **"__name__"** 屬性的值是否為 "__main__",如果是,則執行some_function(),如果不是,則不會做任何操作。
name 以雙底線開頭,表明該屬性是Python的系統內建屬性。該屬性的取值分為兩種情況:

當前模組作為主執行模組時:則 \__name__ 的值為 \__main__當前模組不是主執行模組時:則 \__name__ 的值為當前模組的模組名

例如,在終端中直接執行 python hello.py,則此時,hello.py是執行的主模組,則 __name__ 的值為 __main__ 。如果通過import hello的形式引入hello.py模組,並調用hello模組中的方法,則 __name__的值為 "hello".

更多內容請關注公眾號:

【Python main 函數以及 __name__屬性】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.