> Что означает изменяемость и неизменяемость объектов в Python (Python)

Уровень: senior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: MirrorApp, АО НПФ Будущее, Сбер, Исходный Код, Sunlight, mozen

Стек: Python

> Пример ответа

Изменяемость (mutable) и неизменяемость (immutable) - это свойство объектов в Python, определяющее, можно ли изменить их содержимое после создания.

Неизменяемые объекты (например, int, float, str, tuple, frozenset) нельзя модифицировать. Любая операция, которая кажется изменением, на самом деле создаёт новый объект. Пример:

PYTHON
s = "hello"
s.upper() # возвращает новый объект "HELLO", исходный не меняется

Изменяемые объекты (например, list, dict, set, пользовательские классы) допускают изменение своего состояния без создания нового объекта. Пример:

PYTHON
lst = [1, 2, 3]
lst.append(4) # изменяет исходный список

Это важно учитывать при передаче объектов в функции: изменение изменяемого объекта внутри функции повлияет на оригинал, а неизменяемого - нет. Также неизменяемые объекты могут быть ключами в словарях и элементами множеств, так как их хеш не меняется.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью