命名
在命名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),在特定的場合它也是有用的,比如調試的時候