Python關于類的運用解析

命名

在命名python類的時候還是使用class關鍵字來命名。

python類分為兩種:經典類(舊類),新式類

這兩種類在多重繼承上有著不同的特性,在后面會有詳解。

默認方法



自定義方法


屬性/成員(Attributes)



Python把以兩個或以上下劃線字符開頭且沒有以兩個或以上下劃線結尾的變量當作私有變量

私有變量會在代碼生成之前被轉換為長格式(變?yōu)楣校?。轉換機制是這樣的:在變量前端插入類名,再在前端加入一個下劃線字符。這就是所謂的私有變量軋壓(Private name mangling)

一、Python中默認的成員函數(shù)、成員變量都是公開的(public),而且python中沒有類似public、private等關鍵詞來修飾成員函數(shù),成員變量。

在python中定義私有變量只需要在變量名或函數(shù)名前加上 "__" (兩個下劃線),那么這個函數(shù)或變量就會成為私有的了。

在內部,python使用一種 name mangling 技術,將__membername替換成 _classname__membername,所以你在外部使用原來的私有成員的名字時,會提示找不到。

命名混淆意在給出一個在類中定義"私有"實例變量和方法的簡單途徑,避免派生類的實例變量定義產生問題,或者與外界代碼中的變量搞混。

要注意的是混淆規(guī)則主要目的在于避免意外錯誤,被認作為私有的變量仍然有可能被訪問或修改(使用_classname__membername),在特定的場合它也是有用的,比如調試的時候


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,823評論 18 399
  • 距離中考還剩十天左右,這時候,語文這科可以分成四塊: 1.字、詞、病句; 2.課內古詩文; 3.課外現(xiàn)代文閱讀; ...
    曾晨風閱讀 425評論 0 1
  • 幾個短篇小故事,新年這天分享給大家,希望大家能有個幸福美滿的一年,忠誠祝愿你們的愛能美好! 日記本 他鼓起勇氣,叫...
    摩軒閱讀 512評論 4 6

友情鏈接更多精彩內容