python繼承問題 Python繼承問題

2021-10-19 03:32:06 字數 573 閱讀 9671

我實際上遇到問題的**很長,所以我做了乙個顯示我的問題的例子.

我有兩個繼承自基類(baseclass)的類.這兩個類都為self.dict新增了一些元素.然而,它們似乎交叉汙染元素.我期待c0.dict返回和c1.dict返回.但是它們都返回.為什麼它們會交叉汙染?

class baseclass :

def __init__ (self, _dict={}) :

self.dict = _dict

class class0 (baseclass) :

def __init__ (self) :

baseclass.__init__(self)

self.dict['class0'] = 0

class class1 (baseclass) :

def __init__ (self) :

baseclass.__init__(self)

self.dict['class1'] = 1

c0 = class0()

c1 = class1()

print c0.dict

print c1.dict

python繼承問題 python繼承細節

不要子類化內建型別 內建型別 由c語言編寫 不會呼叫使用者定義的類覆蓋的特殊方法。例如,子類化dict作為測驗 classdoppedict dict def setitem self,key,value super setitem key,value 2 改為重複存入的值 dd doppedict...

python多繼承 super問題

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

Python類的繼承問題

話不多說,直接上 class parent object x 1class child1 parent pass class child2 parent pass print parent.x,child1.x,child2.x child1.x 2print parent.x,child1.x,c...