我在python中有一些继承自超类的类。超类有一个字典,其中包含一些值。一些派生类通过属性访问直接使用这个字典。然而,一些派生类定义了自己的字典,覆盖了超类的字典。
这会产生一种全有或全无的情况,其中类可以从超类继承字典属性,也可以将其替换为自己的。
是否有一种向后兼容的、可取的 pythonistic 方式让子类继承父类的字典并用它们自己的条目来扩充它?如果使用方法访问所有内容,我将在继承的类中执行如下操作:
class SuperClass(object):
my_dict = {'key': 'value'}
def get_dictioary(self):
return my_dict
class Inherited(SuperClass):
my_dict = {'some key': 'some value'}
def get_dictionary(self):
dictionary = super(SuperClass, self).get_dictioary().copy()
dictionary.update(my_dict)
return dictionary