TGViewer
Zen of Python Zen of Python @zen_of_python · 18.9K subscribers
Post #4841 2.34K
В Python появится встроенный frozendict: Steering Council принял PEP 814, и тип уже доступен в бета-версиях Python 3.15. Виктор Стиннер, соавтор PEP, рассказал историю вопроса: его первую попытку, PEP 416, Гвидо отклонил ещё в 2012 году.

Что внутри:

🔘 неизменяемый словарь: попытка присвоить элемент даёт TypeError;
🔘 хешируемый, если хешируемы все значения, так что его можно класть в set и использовать как ключ словаря;
🔘 сохраняет порядок вставки, но сравнение и хеш от порядка не зависят;
🔘 поддерживает объединение через | и сравнение с обычным dict.

Главное отличие от types.MappingProxyType в том, что прокси остаётся обёрткой над живым словарём, а frozendict — самостоятельный неизменяемый тип со своим хешем.

Ждёте frozendict в 3.15 или вам хватало MappingProxyType?

@zen_of_python
  • ❤ 4
  • 👍 2
More from @zen_of_python
  1. Sep 20, 2026Как collections.deque хранит элементы блоками У deque два конца, поэтому легко представить…
  2. Sep 20, 2026Что ускоряет django-msgspec в Django и где он расходится с json django-msgspec заменяет ко…
  3. Sep 20, 2026Почему миллион чисел в Python занимает 35 МБ Список из миллиона целых, которые помещаются…
  4. Sep 19, 2026Как перевести Python-сервер MCP с FastMCP на SDK 2.x Свежая установка зависимостей сломала…
  5. Sep 19, 2026Как кэшировать методы чужого Python-клиента Если библиотечный клиент нельзя менять, его ме…
  6. Sep 19, 2026Где заканчивается ускорение NumPy и что выбрать дальше Векторизация выполняет цикл низкоур…
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 →