Sobes.tech
Junior — Middle

Jak určit, zda je datový typ měnitelný nebo neměnný?

sobes.tech AI

Odpověď od AI

В Python тип данных считается изменяемым (mutable), если после создания объекта его содержимое можно изменить без создания нового объекта. Если же объект нельзя изменить после создания, он считается неизменяемым (immutable).

Примеры immutable типов: int, float, bool, str, tuple, frozenset. Примеры mutable типов: list, dict, set, пользовательские объекты с изменяемыми атрибутами.

Чтобы проверить, изменяем ли объект, можно попробовать изменить его содержимое и посмотреть, изменился ли сам объект (например, проверить id объекта до и после изменения):

x = [1, 2, 3]
print(id(x))
x.append(4)
print(id(x))  # id не изменился, значит list изменяемый

s = "hello"
print(id(s))
s += " world"
print(id(s))  # id изменился, значит str неизменяемый

Таким образом, если объект можно изменить без создания нового, он mutable; если при изменении создаётся новый объект — immutable.