У нас есть три конфигурации разных уровней:
Код: Выделить всё
default_settings = {'compression': 'zip'}
format_config = {'compression_quality': 85, 'background_color': 'white', 'alpha_channel': 'remove'}
base_config = {'compression_quality': 100}
А если, например, написать следующий код:
Код: Выделить всё
final_config = {**default_settings, **format_config, **base_config}
Тогда это сработает:
Код: Выделить всё
>>> {'compression': 'zip', 'compression_quality': 100, 'background_color': 'white', alpha_channel': 'remove'}
Как видите, значение «compression_quality» изменилось с 85 на 100, поскольку `base_config` имеет более высокий приоритет и перезаписал это значение. НО остальные настройки остались прежними, например "сжатие": "zip" остался, хотя я его явно в `base_config' не указал. (Я понимаю, как работает этот код, он был приведен просто для примера) Вопрос: нужно ли мне наследовать настройки с нижних уровней или использовать ТОЛЬКО те настройки, которые явно указаны в конфигурации более высокого уровня?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ystem-work