Mutable-объекты можно изменять на месте: list, dict, set. Immutable-объекты не меняют своё значение после создания: int, str, tuple, frozenset. Переприсваивание переменной не означает изменение объекта.
[имя] спросил: Что такое mutable vs immutable типы в Python? Приведи примеры.
Mutable-объекты можно изменять на месте: list, dict, set. Immutable-объекты не меняют своё значение после создания: int, str, tuple, frozenset. Переприсваивание переменной не означает изменение объекта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Mutable-объекты можно изменять на месте: list, dict, set. Immutable-объекты не меняют своё значение после создания: int, str, tuple, frozenset. Переприсваивание переменной не означает изменение объекта.
Пример: items.append(1) меняет список, тогда как text += "!" для строки создаёт новое строковое значение и связывает с ним переменную. Неизменяемость контейнера не гарантирует неизменяемость вложенных объектов: список внутри кортежа можно менять. Это важно для общих ссылок, копирования и аргументов функций. Хешируемость — отдельное свойство: кортеж с вложенным списком не подходит в качестве ключа словаря.