TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.3K subscribers
Post #7354 4.18K
🧊Frozen dict в Python: PEP 814

Интересная новость из Python-мира: на обсуждение вынесен PEP 814, предлагающий добавить в стандартный язык frozendict — неизменяемый словарь как встроенный тип.

Почему это важно?

До сих пор в стандартной библиотеке не было простого и безопасного способа делиться словарями между потоками или агентами без риска гонок данных.

👉 PEP 814 пытается решить именно эту проблему.

Что такое frozendict?

Это иммутабельный словарь, не наследующий dict, а реализующий интерфейс Mapping.

Создаётся привычными способами:

fd = frozendict(a=1, b=2)
fd = frozendict({'a': 1, 'b': 2})
fd = frozendict([('a', 1), ('b', 2)])


Если все значения внутри тоже неизменяемые, то frozendict становится хэшируемым, значит:
✔️ его можно использовать как ключ в словаре
✔️ добавлять в set
✔️ кешировать через functools.lru_cache

Поддерживаются и объединения:
frozendict(x=1) | frozendict(y=1)


— всегда создаётся новый объект, что исключает побочные эффекты.

Сообщество PEP восприняло идею в целом тепло. Больше всего споров вызвало желание добавить O(1) заморозку словаря — например, через d.freeze().

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

Учитывая актуальность темы для free-threaded Python, шанс принятия выглядит высоким.

🔗 Подробнее

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека питониста

#буст
  • 👍 13
  • ❤ 5
  • 🔥 4
More from @pyproglib
  1. Oct 3, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  2. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  3. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  4. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  5. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  6. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →