Перейти к основному содержимому

Типы данных 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 Кликнув на соответсвующий пункт в левом меню.