Типы данных Python
Типы данных в Python можно разделить на изменяемые и неизменяемые.
Когда мы присваиваем новое значение неизменяемому объекту, Python не перезаписывает его, а создаёт новый объект с тем же именем. Чтобы в этом убедиться, достаточно проверить id — уникальный номер, который присваивается каждому объекту в Python:
# Проверим неизменяемый тип данных
int_var = 5
print(f"first id of var: {id(int_var)}") #139746677757032
int_var += 10
print(f"second id of var: {id(int_var)}") #139746677757352
Когда мы прибавляем 10
к переменной int_var
, на её месте создаётся новый объект с тем же именем.
Заметьте: при первом выводе id
равен 139746677757032, а после выполнения операции сложения — 139746677757352.
А вот идентификатор списка list_var не меняется, потому что списки в Python — это изменяемые объекты:
list_var = [10, 20, 30]
print(f"first id of var: {id(list_var)}") #140223891584064
list_var += [40]
print(f"second id of var: {id(list_var)}") #140223891584064
К неизменяемым объектам относятся:
а к изменяемым
Это свойство нужно учитывать при передаче объектов в функцию. Например, если вы не хотите, чтобы функция изменила исходный список, передайте в неё копию этого списка.
Теперь рассмотрите встроенные типы данных языка Python Кликнув на соответсвующий пункт в левом меню.