0
我有一些类从python继承超类。超类有一个包含一些值的字典。一些派生类直接通过属性访问来使用这个字典。然而,一些派生类定义了自己的字典,覆盖了超类的字典。如何在python中将属性访问转换为继承的属性访问?
这创建了一个全有或全无的情况,其中类可以从超类继承字典属性或用自己的替换为自己。
是否有一种向后兼容的,可以猜测的pythonistic方式让Clases继承父级的字典并用它们自己的条目增加它?如果一切用方法来访问我只想做继承类的东西,像这样:
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
我不知道你在做什么试图在这里实现,但我认为你可以将my_dict“分解”为类属性。 – Keith
也因为'my_dict'是一个静态属性,你不必调用super,你可以直接访问'SuperClass.my_dict' – dm03514