Python學習筆記_類,類物件,例項物件
阿新 • • 發佈:2019-01-06
1、self
當例項方法被呼叫時,物件會將自身self作為第一個引數傳入。所以在定義時需要將self寫入,在呼叫時不用寫。
2、公有、私有
Python的屬性和方法預設都是公有的,可以通過 . 訪問到,
通過在屬性名前可以加上雙下劃線可以將其偽私有化,這樣只能通過類的方法來訪問了,為什麼是偽呢,因為Python 利用叫name mangling的方式在類內部把這些變數的名字改了,在外部通過__類名__屬性名訪問到。
3、類屬性、靜態屬性、例項屬性、類方法、靜態方法、例項方法
類物件對應類名,例項物件就是通過類建立的物件。
類屬性:也稱作靜態屬性,在構造方法外定義,類和例項公有,訪問方法可以直接通過 . 取到,通過三個方法也均可以訪問到。但是通過例項方法不能修改類屬性,在例項方法中,若綁定了self則成為例項的屬性,強行覆蓋了類屬性,此後也不能通過例項訪問到改類屬性了;如果不繫結就成為臨時變數沒有意義。
例項屬性:例項物件獨有,構造方法內新增或建立物件後利用 . 新增。若與類屬性同名,覆蓋之。
例項方法:傳入引數self,可以通過例項呼叫,也可以通過類名呼叫,但要將明確的例項作為第一個引數傳入。
類方法:@classmethod 且必須傳入引數cls。
靜態方法:@staticmethod,不用傳入引數。
類方法和靜態方法均可以修改類屬性,二者都可以通過類名或例項呼叫。
類和物件的一切屬性和方法均在以上型別,自動歸類。