三大特性:封裝、繼承、多態
成員:
字段 靜態字段(每個對象都有一份)、普通字段(每個對象都不同的數據)
方法 靜態方法(無需使用對象封裝的內容)@staticmethod、類方法(會自動加當前類的類名 def xxx (cls):)@classmethod、普通方法(使用對象中的數據)
特性 普通特性(將方法偽造成字段) 方法上面加@property(執行的時候不用加括號 obj.xxx)
快速判斷,類執行,對象執行:
有self,對象執行
無self,類執行
補充:
查找源碼的過程(self.xxxx(),從底層開始找)
執行父類的構造方式:
super(當前類,self),init()
父類.__init__(self,xxx)
面向對象常用方法
__init__
__call__ r=Foo() r() 在類里面定義了 __call__方法后就可以實現
__delitem__ del r['wqe]
__getitem__ 這個方法可以用r[1]來訪問對象 r[1:3]切片也可以取值
__setitem__ r['e']=213
__dict__ 可以用 類.__dict__ 展示所有類的成員
__iter__
__str__
__oo='xx'
這是成員修飾符 (在類的內部能調用,外部要通過 對象_類名__成員)
def __xxx():