以下内容似乎很奇怪。.基本上,somedata属性似乎在从继承的所有类之间共享the_base_class。
class the_base_class:
somedata = {}
somedata['was_false_in_base'] = False
class subclassthing(the_base_class):
def __init__(self):
print self.somedata
first = subclassthing()
{'was_false_in_base': False}
first.somedata['was_false_in_base'] = True
second = subclassthing()
{'was_false_in_base': True}
>>> del first
>>> del second
>>> third = subclassthing()
{'was_false_in_base': True}
定义self.somedata的__init__功能显然是要解决这个问题(所以每个类都有它自己的正确方法somedata字典) -但如果是这样的行为可取?
慕尼黑8549860
幕布斯7119047
相关分类