Python學習筆記 類的多繼承

2021-10-02 14:23:41 字數 1776 閱讀 1438

#類定義

class

people

:#定義類的基本屬性

name=

' ' age=

0 _weight=

0#定義私有屬性,私有屬性在類外部無法直接進行訪問

def__init__

(self,name,age,grade)

: self.name=name

self.age=age

self.grade=grade

defspeak

(self)

:print

("%s說:我%d歲."

%(self.name,self.age)

)#單繼承類示例

class

student

(people)

: grade=

' 'def

__init__

(self,name,age,grade,weight)

:#呼叫父類的結構

people.__init__(self,name,age,grade)

self.weight=

90def

speak

(self)

:print

("%s說:我很重了,都%d斤了"

%(self.name,self.weight)

)#另乙個類,多繼承類前的準備

class

speaker()

: topic=

'' name=

''def

__init__

(self,name,topic)

: self.name=name

self.topic=topic

defspeak

(self)

:print

("我叫%s,我是一名人民教師,我演講的主題是%s"

%(self.name,self.topic)

)#多重繼承

class

sample

(speaker,student)

:def

__init__

(self,name,age,weight,grade,topic)

: speaker.__init__(self,name,topic)

student.__init__(self,name,age,grade,weight)

test=sample(

"余佳慧",1

,2,3

,"hjwnb"

)test.speak(

)我叫余佳慧,我是一名人民教師,我演講的主題是hjwnb

#方法名相同,預設的情況下呼叫的是括號中靠前的父類的方法

#修改**為:

class

sample

(student,speaker)

:def

__init__

(self,name,age,weight,grade,topic)

: speaker.__init__(self,name,topic)

student.__init__(self,name,age,grade,weight)

test=sample(

"余佳慧",1

,2,3

,"hjwnb"

)test.speak(

)余佳慧說:我很重了,都90斤了

類的繼承 多繼承

多繼承要注意很多地方,以下 只是最基本多繼承方式,下面會講到多繼承的基本格式和繼承方法 簡單說明 1 如果在子類中需要父類的構造方法就需要顯示的呼叫父類的構造方法,或者不重寫父類的構造方法。2 在呼叫基類的方法時,需要加上基類的類名字首,且需要帶上 self 引數變數。區別在於類中呼叫普通函式時並不...

python多繼承(新式類)一

最近在學習python的多重繼承。先來了解下多重繼承的概念,所謂多重繼承,是指python的類可以有兩個以上父類,也即有類a,類b,類c,c同時繼承類a與類b,此時c中可以使用a與b中的屬性與方法。那麼問題來了,如果a與b中具有相同名字的方法,這個時候python怎麼呼叫的會是哪個方法呢?舉個例子 ...

python 類 繼承 python 類的繼承

1 所用的類都可以被繼承 2 沒有繼承其他類的類必然有乙個父類 object 3子類可以擁有父類的 init 裡的類容 派生子類除了父類的一些屬性,還會有自己的屬性和方法,這些就叫派生 如何使用 實現 class animal def init self,name,attack,hp self.na...