Какие изменяемые и неизменяемые объекты есть в Python?

К изменяемым относятся list, dict, set и bytearray; к неизменяемым — int, float, bool, str, tuple, bytes и frozenset. Изменяемость описывает возможность менять сам объект, а не переприсваивать переменную.

Короткий ответ

Что ответить на собеседовании

К изменяемым относятся list, dict, set и bytearray; к неизменяемым — int, float, bool, str, tuple, bytes и frozenset. Изменяемость описывает возможность менять сам объект, а не переприсваивать переменную.

Подробный разбор

Ответ с пояснениями

К изменяемым относятся list, dict, set и bytearray; к неизменяемым — int, float, bool, str, tuple, bytes и frozenset. Изменяемость описывает возможность менять сам объект, а не переприсваивать переменную.

Переменная может начать ссылаться на другой объект любого типа. Кортеж не позволяет заменить свой элемент, но вложенный список внутри него остаётся изменяемым. Поэтому неизменяемость контейнера не означает глубокую неизменяемость всех данных. Аналогично не каждый tuple подходит для ключа dict: все его элементы должны быть хешируемыми. Это важно для разделяемых значений, аргументов по умолчанию и кеширования.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее