РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
232 of 252 menu

Класс DictProperty

Класс DictProperty применяется для создания дескриптора, который превращает атрибут класса в словарь. При чтении свойства возвращается словарь, хранящийся в указанном атрибуте. При этом доступ к элементам словаря осуществляется через сам объект свойства. Класс удобен для организации настроек, кэша или любых данных, которые нужно хранить в виде пар ключ-значение.

Синтаксис

class MyClass: my_dict = DictProperty('_my_dict')

Пример

Давайте создадим класс с свойством-словарём и добавим в него несколько значений:

from bottle import DictProperty class Config: settings = DictProperty('_settings') config = Config() config.settings['host'] = 'localhost' config.settings['port'] = 8080 res = config.settings print(res)

Результат выполнения кода:

{'host': 'localhost', 'port': 8080}

Пример

Давайте проверим, что разные экземпляры класса имеют независимые словари:

from bottle import DictProperty class Storage: data = DictProperty('_data') storage1 = Storage() storage2 = Storage() storage1.data['key'] = 'abcde' storage2.data['key'] = 'hello' res1 = storage1.data['key'] res2 = storage2.data['key'] print(res1, res2)

Результат выполнения кода:

abcde hello

Смотрите также

  • класс cached_property,
    который кэширует результат вычисления свойства
  • класс lazy_attribute,
    который вычисляет значение атрибута при первом обращении
  • функцию cookie_encode,
    которая кодирует данные для cookie
  • функцию cookie_decode,
    которая декодирует данные из cookie
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить