Python單雙底線,前後底線解讀__Python

來源:互聯網
上載者:User

原文請點擊src

Python 用底線作為變數首碼和尾碼指定特殊變數

_xxx 不能用’from module import *’匯入

__xxx__ 系統定義名字

__xxx 類中的私人變數名

核心風格:避免用底線作為變數名的開始。

因為底線對解譯器有特殊的意義,而且是內建標識符所使用的符號,我們建議程式員避免用底線作為變數名的開始。一般來講,變數名_xxx被看作是“私人 的”,在模組或類外不可以使用。當變數是私人的時候,用_xxx 來表示變數是很好的習慣。因為變數名__xxx__對Python 來說有特殊含義,對於普通的變數應當避免這種命名風格。

“單底線” 開始的成員變數叫做保護變數,意思是只有類對象和子類對象自己能訪問到這些變數;
“雙底線” 開始的是私人成員,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個資料。

以單底線開頭(_foo)的代表不能直接存取的類屬性,需通過類提供的介面進行訪問,不能用“from xxx import *”而匯入;以雙底線開頭的(__foo)代表類的私人成員;以雙底線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如 __init__()代表類的建構函式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.