比方说,我有下面的类在子类扩展一个类属性的一个巧妙的办法
class Parent(object):
Options = {
'option1': 'value1',
'option2': 'value2'
}
和被称为儿童
class Child(Parent):
Options = Parent.Options.copy()
Options.update({
'option2': 'value2',
'option3': 'value3'
})
我希望能够覆盖或添加选项子孩子班。我正在使用的解决方案。但我相信有一个更好的方法来做到这一点。
编辑
我不想为类的属性,因为我有没有选择其他类的属性,我宁愿保持所有选项在一个地方添加选项。这只是一个简单的例子,实际的代码比这更复杂。
的方式为什么不出货父类的方法复制/更新逻辑?如果你把它放在`__init__`中,并且总是在子类`__init__`的末尾调用`super().__ init __()`,就像你应该这样做,它应该可以工作。 – asmeurer 2013-06-16 20:56:25