На этом шаге мы рассмотрим назначение этого класса.
MappingProxyType - это обертка стандартного словаря, которая предоставляет доступ только для чтения данных обернутого словаря.
См. документацию Python "types.MappingProxyType": https://docs.python.org/3/library/types.html.
Этот класс был добавлен в Python 3.3 и может использоваться для создания неизменяемых версий словарей.
Например, он может быть полезен, если требуется вернуть словарь, передающий внутреннее состояние из класса или модуля, при этом препятствуя доступу к этому объекту для записи. Использование MappingProxyType позволяет вводить эти ограничения без необходимости сначала создавать полную копию словаря.
>>> from types import MappingProxyType >>> writable = {'один': 1, 'два': 2} # доступный для обновления >>> read_only = MappingProxyType(writable) # Этот представитель/прокси с доступом только для чтения: >>> read_only['один'] 1 >>> read_only['один'] = 23 Traceback (most recent call last): . . . . TypeError: 'mappingproxy' object does not support item assignment # Обновления в оригинале отражаются в прокси: >>> writable['один'] = 42 >>> read_only mappingproxy({'один': 42, 'два': 2})
На следующем шаге мы подитожим изученный материал.