Python использует ячейки памяти компьютера для хранения переменных и данных программы. Операционная система контролирует доступ программы к памяти, предотвращая несанкционированный доступ к ячейкам. Python упаковывает данные (строки, числа и т.д.) в объекты и хранит их в памяти.
Объекты в Python
Каждый объект содержит три составляющие:
- Тип: Определяет, что объект представляет собой (целое число, строка и т.д.) и какие операции над ним допустимы. Python – язык с динамической типизацией, поэтому тип определяется автоматически.
- Идентификатор: Уникальный идентификатор объекта, позволяющий отличить его от других. Это адрес объекта в памяти.
- Значение: Непосредственное значение объекта соответствующего типа.
Типы данных: изменяемые и неизменяемые
Типы данных могут быть изменяемыми и неизменяемыми. Неизменяемые типы (константы) не позволяют менять значение без создания нового объекта. Изменяемые типы позволяют менять значение без создания нового объекта.
Переменные в Python
В Python переменные – это ярлыки или ссылки на объекты в памяти, а не контейнеры для хранения данных. Они содержат адрес объекта в памяти.
Создание переменной
Рассмотрим пример: x = 33.
- Создается объект типа int со значением 33.
- Создается переменная x, содержащая ссылку (адрес) на этот объект.
Если далее написать number = x, переменная number будет ссылаться на тот же объект, что и x. Только при присваивании нового значения, например, number = 40, создается новый объект, и number начинает ссылаться на него.
Проверка с помощью функции id()
Функция id() возвращает адрес объекта в памяти. Если id(x) и id(y) равны, значит, x и y ссылаются на один и тот же объект.
Ссылки на изменяемые и неизменяемые типы
Изменяемые типы: Если несколько переменных ссылаются на изменяемый объект (например, список), изменение значения через одну переменную отразится на всех. Пример:
a = [1, 3, 8]
m = a
m[1] = "Hello"
print(a) # Выведет [1, 'Hello', 8]
print(m) # Выведет [1, 'Hello', 8]
Неизменяемые типы: Для неизменяемых типов (например, int) изменение значения одной переменной не влияет на другие, даже если они ссылались на один и тот же объект. Пример:
b = 2
c = b
w = c
c = 5
print(b, c, w) # Выведет 2 5 2
Правила именования переменных
- Имена переменных могут содержать буквы латинского алфавита (верхний и нижний регистр), цифры и подчеркивание.
- Имена чувствительны к регистру (Number и number — разные переменные).
- Имена должны начинаться с буквы или подчеркивания.
- Имена не должны совпадать с зарезервированными словами Python.
В этом уроке мы рассмотрели переменные и типы данных в Python. Переменные — это ссылки на объекты в памяти. Типы данных бывают изменяемыми и неизменяемыми. Следующий урок продолжит эту тему.