Ответ
В Python типы данных делятся на изменяемые (mutable) и неизменяемые (immutable), что критично для понимания поведения объектов.
Неизменяемые (Immutable):
int,float,complex— числовые типы.str— строки.tuple— кортежи.bytes— байтовые строки.frozenset— неизменяемое множество.bool— логический тип (True,False).
Изменяемые (Mutable):
list— списки.dict— словари.set— множества.bytearray— изменяемая байтовая последовательность.
Пример, демонстрирующий разницу:
# Неизменяемый тип (int)
a = 5
b = a # b ссылается на тот же объект
b = 10 # Создается новый объект 10, a не меняется
print(a) # 5
# Изменяемый тип (list)
list1 = [1, 2, 3]
list2 = list1 # list2 ссылается на тот же объект в памяти
list2.append(4) # Изменяется общий объект
print(list1) # [1, 2, 3, 4] - list1 тоже изменился!
Проверка и преобразование типов:
x = 42
type(x) # <class 'int'>
isinstance(x, int) # True
float(x) # 42.0 (преобразование)
str(x) # '42'
Ключевое на практике: Понимание мутабельности помогает избежать ошибок, особенно при передаче аргументов в функции. Неизменяемые объекты передаются по значению (фактически, копируется ссылка, но объект нельзя изменить), а изменяемые — по ссылке.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶