python學習筆記(二)面向物件程式設計
阿新 • • 發佈:2019-02-07
面向物件程式設計
- self代表類的例項
- python支援多重繼承
特殊方法def init(self,):
- 作用:在init方法內部,就可以把各種屬性繫結到self
- 前後分別有兩個下劃線
- 第一個引數永遠是self,表示建立的例項本身
- 有了init方法,在建立例項的時候,就不能傳入空的引數了,必須傳入與init方法匹配的引數,但self不需要傳
訪問限制
- 變數或函式名開頭前加一個或兩個下劃線
- _xxx和__xxx這樣的函式或變數就是非公開的(private),,私有變數不應該被直接引用,只有內部可以訪問,外部不能訪問
- _ xxx _ 這種是特殊變數,可以訪問
type()
- 判斷物件型別
dir()
- 返回一個包含字串的list
- 獲得一個物件的所有屬性和方法
_ slots _
python支援動態給類和例項繫結屬性和方法
在定義class的時候,使用它來限制該class例項能新增的屬性
slots定義的屬性僅對當前類例項起作用,對繼承的子類是不起作用的
- 除非在子類中也定義slots,這樣,子類例項允許定義的屬性就是自身的slots加上父類的slots
@property裝飾器
- 把一個方法變成屬性呼叫的
- 還需@一個setter方法,負責把一個setter方法變成屬性賦值