На этом шаге мы рассмотрим особенности использования объектов этого класса.
А вот еще один "эзотерический" вариант реализации объектов данных в Python: types.SimpleNamespace.
См. документацию Python "types.SimpleNamespace": https://docs.python.org/3.3/library/types.html.
Этот класс был добавлен в Python 3.3, и он обеспечивает атрибутивный доступ к своему пространству имен.
Это означает, что экземпляры SimpleNamespace показывают все свои ключи как атрибуты класса. А значит, вы можете использовать "точечный" атрибутивный доступ объект.ключ вместо синтаксиса с индексацией в квадратных скобках объект['ключ'], который применяется обычными словарями. Все экземпляры также по умолчанию включают содержательный метод __repr__.
Как видно из его названия, тип SimpleNamespace прост в использовании! Это, в сущности, прославленный словарь, который предоставляет доступ по атрибуту и выдает приличную распечатку. Атрибуты могут свободно добавляться, изменяться и удаляться.
>>> from types import SimpleNamespace >>> car1 = SimpleNamespace(цвет='красный', пробег=3812.4, автомат=True) # Метод repr по умолчанию: >>> car1 namespace(автомат=True, пробег=3812.4, цвет='красный') # Экземпляры поддерживают атрибутивный доступ и могут изменяться: >>> car1.пробег = 12 >>> car1.лобовое_стекло = 'треснутое' >>> del car1.автомат >>> car1 namespace(лобовое_стекло='треснутое', пробег=12, цвет='красный')
На следующем шаге мы подитожим изученный материал.