Python多繼承super只引用第乙個父類

2022-04-05 20:33:55 字數 626 閱讀 4369

python多繼承super只引用第乙個父類

class

animal:

def__init__

(self):

print("

in parent")

class

animal2:

def__init__

(self):

print("

in parent2")

class

dog(animal2, animal):

def__init__

(self):

super().

__init__

()

print("

in dog")

d = dog()

如上**,控制台列印:

in parent2

in dog

如果dog宣告為

class dog(animal, animal2):
那麼控制台列印:

in parent

in dog

可見,多重繼承情況下,super只會引用第乙個父類的__init__方法

python多繼承 super問題

coding utf 8 胖子老闆的父類 class fatfather object def init self,name,args,kwargs print print 開始呼叫 fatfather print fatfather的init開始被呼叫 self.name name print 呼...

super與多繼承

1 super 1.1 super是乙個內建類,可以參考 builtin 中的 super 類 class super object def init self,type1,type2 none known special case of super.init super type,obj boun...

Python中多繼承與super 用法

python類分為兩種,一種叫經典類,一種叫新式類。兩種都支援多繼承。考慮一種情形,b繼承於a,c繼承於a和b,但c需要呼叫父類的init 函式時,前者會導致父類a的init 函式被呼叫2次,這是不希望看到的。而且子類要顯式地指定父類,不符合dry原則。經典類 class a def init se...