У меня есть классы, как это:Обновить родительский ДИКТ в подклассе
class Parent(object):
_defaults = {
'key': 'value',
'key2': 'value',
}
class Child(Parent):
_defaults = {
'key2': 'value2',
'key3': 'value2',
}
Когда я создаю класс ребенка, я хочу _defaults
быть установлен в родительский класс _defaults
, а затем обновляются с ребенком _defaults
. Таким образом, фактический разрешен класс должен выглядеть следующим образом:
class Child(object):
_defaults = {
'key': 'value',
'key2': 'value2',
'key3': 'value2',
}
Возможно ли это с __metaclass__
конструктором или что-то?
В идеале вы должны использовать 'ChainMap', как указано в другом ответе, но это работает достаточно хорошо. – xaav
@xaav Да, это хороший подход. Но я опубликовал этот ответ, поскольку я, хотя OP ищет решение на основе метакласса для образовательной цели. – Kasramvd
Я тот, кто разместил вопрос! – xaav