所謂動態繼承,是指**執行時再決定某個類的父類。某些場景下會用到,比如threading.thread和multiprocessing.process這兩個類有很多同名的介面,可以實現某個子類動態繼承這兩個類中的某乙個,以便測試多執行緒或多程序的效率問題。
1:使用工廠函式
defcreateclass(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:使用條件表示式
classa:
#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...