Python中的動態繼承

2022-07-03 11:24:08 字數 973 閱讀 5307

所謂動態繼承,是指**執行時再決定某個類的父類。某些場景下會用到,比如threading.thread和multiprocessing.process這兩個類有很多同名的介面,可以實現某個子類動態繼承這兩個類中的某乙個,以便測試多執行緒或多程序的效率問題。

1:使用工廠函式

def

createclass(cls):

class

customizedclass(cls):

.......

return

customizedclass

classlist =createclass(list)

print(classlist.__bases__) #

prints the parent class names for classlist

instanceclasslist = classlist([1, 2, 3]) #

object of classlist created

classdict =createclass(dict)

print(classdict.__bases__) #

prints the parent class names for classdict

instanceclassdict = classdict() #

object of classdict created

2:使用條件表示式

class

a:

#code for the class a...

class

b:

#code for the class b...

class myclass( a if (condition) else

b):

#code for the derived class myclass

參考:

Python中的繼承

ass cat object def init self,name 動物 color 白色 self.name name self.color color def test self print self.name print self.color def run self print s 在跑步 ...

python中的繼承

一.繼承,多繼承 子類繼承父類 為父類進行擴充套件 mro method resolution order 方法解析順序 python 2 1.使用經典類 寫繼承關係的時候,基類不繼承object 2.新式類 繼承關係的根,是object python 3 只有新式類 二.經典類的mro 經典類的m...

Python中的多繼承

python和c 一樣,支援多繼承。概念雖然容易,但是困難的工作是如果子類呼叫乙個自身沒有定義的屬性,它是按照何種順序去到父類尋找呢,尤其是眾多父類中有多個都包含該同名屬性。class p1 object deffoo self print p1 foo class p2 object deffoo...