Кортеж в Python неизменяемый (immutable) тип данных.
Это означает, что после создания кортежа, вы не можете изменить его элементы, добавить новые элементы или удалить существующие. Попытка сделать это приведет к ошибке TypeError
.
Примеры:
my_tuple[0] = 'new value'
(вызовет ошибку).append()
, insert()
, remove()
, pop()
, которые изменяют списки.Важно: Неизменяемость относится к самим элементам кортежа. Если кортеж содержит изменяемые объекты (например, списки), то содержимое этих списков внутри кортежа можно изменять. Сам кортеж при этом остается неизменным (его структура и ссылки на объекты не меняются).
Пример с изменяемым объектом внутри кортежа:
my_tuple = ([1, 2], 'hello')
my_tuple[0].append(3) # Вполне допустимо, т.к. меняется список, а не сам кортеж
print(my_tuple) # Output: ([1, 2, 3], 'hello')
Почему кортежи неизменяемы?