Мне нужно определить некоторые параметры ключ-значение для настройки поведения класса.У меня два требования:
- Чтобы иметь возможность обрабатывать их программно
- Чтобы иметь возможность создавать более конкретные конфигурации, которые перезаписывают некоторые значения.
Естественным подходом для первого требования является использование dict
(чтобы я мог циклически перебирать ключи, значения или элементы с помощью цикла for
), но для второго требования представляется более уместным использовать иерархию классов и позволитьмеханизм поиска атрибутов для выполнения работы (плюс я получаю другие плюсы, такие как возможность использовать свойства для некоторых значений).
Есть ли способ получить лучшее из обоих миров?
После прочтения комментариев, он не должен быть изменяемым (я не буду изменять значения уже созданного экземпляра), это просто для статической конфигурации.Но мне может понадобиться добавить новые значения в более конкретный экземпляр.
Я думаю, в конце концов, я мог бы просто использовать dict.copy
+ dict.update
для конкретных экземпляров (я могу жить без свойств).