TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #5041 341
Почему frozendict не замораживает вложенные объекты

В Python 3.15 появляется встроенный frozendict. В нём нельзя заменить значение по ключу или удалить запись. Но если значением служит список, сам список по-прежнему можно изменить через append.

Заморозка действует только на отображение. Поэтому frozendict с вложенным списком создаётся без ошибки, а вызов hash завершится TypeError. Для использования в ключе словаря или элементе множества все ключи и значения должны быть хешируемыми.

Есть ещё нюанс совместимости: frozendict не наследуется от dict. Проверка isinstance(value, dict) его отвергнет. Если функции достаточно чтения по ключам, контракт через collections.abc.Mapping принимает оба типа. Для вложенной структуры отдельно выбирайте подходящие контейнеры на каждом уровне.

#python #типизация
More from @zen_of_python
  1. Oct 8, 2026Почему цикл внутри теста скрывает часть ошибок Тест перебирает десять входов и проверяет р…
  2. Oct 8, 2026Как выполнять CPU-задачи в отдельных интерпретаторах Python В Python 3.14 InterpreterPoolE…
  3. Oct 8, 2026Как отличить отсутствие аргумента от None в Python Если None — допустимое значение настрой…
  4. Oct 7, 2026security.txt в Django: контакт для сообщений об уязвимостях Исследователь нашёл уязвимость…
  5. Oct 6, 2026Как открывать ссылки Django-сайта в приложениях Apple и Android Для этого нужна двусторонн…
  6. Oct 6, 2026Как собрать Rust-проект с 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 →