【发布时间】:2011-08-25 16:58:39
【问题描述】:
我实际遇到问题的代码很长,所以我做了一个例子来显示我的问题。
我有两个继承自基类 (BaseClass) 的类。这两个类都向 self.Dict 添加了一些元素。但是,它们似乎会交叉污染元素。我期待 c0.Dict 返回 {'class0': 0} 和 c1.Dict 返回 {'class1': 1}。但是它们都返回 {'class0': 0, 'class1': 1}。为什么它们会交叉污染?
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 class inheritance object