python類的三大特性

2021-10-08 18:59:36 字數 1570 閱讀 9015

繼承簡介

繼承是面對物件的三大特點之一

通過繼承我們可以使乙個類獲取他繼承的類中的屬性(變數)和方法(函式)

在定義類時,可以在類名後面的括號中指定當前類的父類(超類,基類)

繼承提高了類的復用性。讓類與類之間產生了關係。又累這個關係,才有了多型的特性。

方法重寫
如果在子類中有和父類同名的方法,如果我們呼叫子類是呼叫同名的方法,那

那直譯器首先回去子類中去方法只有子類中沒有了,直譯器才會去父類中去查詢,

,這樣我們就可以更好的修改乙個我們不能修改的類,建立乙個新類,繼承舊類

修改要改進的方法,然後呼叫原先的方法這樣就可以不動原先的**

呼叫乙個方法時:
會優先去當前物件中尋找是否具有該方法,如果有則直接調有用

如果沒有,則去當前物件的父類中尋找,如果父類中有則直接呼叫父類中的方法

如果沒有,則去父類中尋找,依次類推,直到找到object(所有類的父類)如果依然沒找到就會報錯。

super
super()可以獲取當前的父類

並且通過super()返回物件呼叫父類的方法時不要呼叫self

多重繼承

在python中是⽀持多重繼承的。也就是我們可以為⼀個類同時制定多個⽗類

可以在類名的()後邊新增多個類,來實現多重繼承

多重繼承,會使⼦類同時擁有多個⽗類,並且會獲取到所有⽗類中的⽅法

在開發中沒有特殊情況,應該盡量避免使⽤多重繼承。因為多重繼承會讓我

們的**更加複雜

如果多個⽗類中有同名的⽅法,則會先在第⼀個⽗類中尋找,然後找第⼆

個,找第三個…前⾯會覆蓋後⾯的

多型時面對物件的三大特性之一。從字面上理解多種形態

乙個物件可以以不同的性態去展現。

⾯向物件三⼤特性

封裝 確保物件中資料的安全

基礎 保證了物件的擴充套件性

多型 保證了程式的靈活性

屬性

類屬性,直接在類中定義的屬性是類屬性

類屬性可以通過類或類的例項訪問到。但是類屬性只能通過類物件來修

改,⽆法通過例項物件修改

例項屬性 通過例項物件新增的屬性屬於例項屬性

例項屬性只能通過例項物件來訪問和修改,類物件⽆法訪問修改

⽅法 在類中定義,以self為第⼀個引數的⽅法都是例項⽅法

例項⽅法在調⽤時,python會將調⽤物件以self傳⼊

例項⽅法可以通過類例項和類去調⽤

當通過例項調⽤時,會⾃動將當前調⽤物件作為self傳⼊

當通過類調⽤時,不會⾃動傳遞self,我們必須⼿動傳遞self

類⽅法 在類的內容以@classmethod 來修飾的⽅法屬性類⽅法

類⽅法第⼀個引數是cls 也會⾃動被傳遞。cls就是當前的類物件

類⽅法和例項⽅法的區別,例項⽅法的第⼀個引數是self,類⽅法的第⼀

個引數是cls

類⽅法可以通過類去調⽤,也可以通過例項調⽤

靜態⽅法

在類中⽤@staticmethod來修飾的⽅法屬於靜態⽅法

python類的三大特性 封裝

四 property屬性 封裝 指隱藏物件的屬性和實現細節,不允許外部直接方位物件內部的資訊,僅僅提供公共的訪問方式給外部,實現外部對內部的操作和訪問。封裝的目的 封裝的益處 python中採用雙下劃線開頭的方式將變數設定為私有變數,即 私有變數的特點 classp object def init ...

python十大特性 python三大特性

python中也有三大特性,封裝 繼承和多型。封裝封裝,就是只能在類的內部訪問,外部訪問屬性或方法會報異常,python中的封裝很簡單,只要在屬性前或者方法名前加上兩個下劃線就可以,如self.name,def eat self 這樣就完成了屬性和方法的私有化,也就是封裝。在python中封裝並不是...

類的三大特性 封裝以及Property特性

class people def init self,height,weight self.height height self.weight weight property 裝飾器,下面方法的呼叫無需加 defbmi self return self.weight self.height 2 pe...