Python合集之物件導向 六

2022-09-14 20:33:16 字數 1820 閱讀 6677

在派生類中定義__init__()方法時,不會自動呼叫基類的__init__()方法。

例如:

class

fruit:

def__init__(self,color='綠色'

): fruit.color=color

defharvest(self):

print("

水果原來是:

"+fruit.color+"的"

)class

def__init__

(self):

print("

我是蘋果

")

執行上面的**,會彈出相關的異常資訊。

因此,要讓派生類呼叫基類的__init__()方法進行必要的初始化,需要在派生類使用super()函式呼叫基類的__init__()方法。

例如:在上面的例子中,修改為:

class

fruit:

def__init__(self,color='綠色'

): fruit.color=color

defharvest(self):

print("

水果原來是:

"+fruit.color+"的"

)class

def__init__

(self):

print("

我是蘋果")

super().

__init__

()

class

fruit: #定義水果類(基類)

def__init__(self,color='綠色'

): fruit.color=color #定義類屬性

defharvest(self,color):

print("

水果是:

"+self.color+"的"

) #輸出的是形式引數color

print("

水果已經收穫")

print("

水果原來是:

"+fruit.color+"的"

) #輸出的是類屬性color

class

color="紅色"

def__init__

(self):

print("

我是蘋果")

super().

__init__

() #呼叫基類的__init__()方法

class

sapodilla(fruit): #定義人參果類(派生類)

def__init__

(self,color):

print("

我是人參果")

super().

__init__

(color) #呼叫基類的__init__()方法

defharvest(self,color):

print("

人參果實:

"+color+"的"

) #輸出形式引數color

print("

人參果已經收穫")

print("

人參果原來是:

"+fruit.color+"的"

) #輸出的是類屬性color

sapodilla=sapodilla("白色"

)sapodilla.harvest(

"金黃色帶紫色條紋

Python合集之物件導向 二

在python中,類表示具有相同屬性和方法的物件集合,在使用類時,需要先定義類,然後再建立類的例項,通過類的例項就可以訪問類中的屬性和方法了。在python中,類的定義使用class關鍵字來實現,語法格式如下 class classname 類的幫助資訊 statement 引數說明 classna...

python之物件導向

類 是乙個特殊的物件,class a 定義的類屬於 類物件 類的例項 obj a 屬於 例項物件 例項屬性 init 定義例項屬性 例項方法 self 物件名.方法名 類屬性 針對類物件定義的屬性,訪問類屬性方法 類名.類屬性 物件名.類屬性 類方法 針對類物件定義的方法,內部可直接訪問類屬性和其他...

python之物件導向

python中一切皆物件 class 定義的類屬於類物件 obj1 屬於例項物件 在程式執行時,類同樣會載入到記憶體,類物件在記憶體中只有乙份,使用乙個類可以建立出很多例項物件 除了封裝例項的屬性和方法外,類物件還可以擁有自己的屬性和方法 類屬性和例項屬性 類屬性就是給類物件中定義屬性,通常用來記錄...