В этой лекции мы рассмотрим важные аспекты программирования на Python: переменные и оператор присваивания. Понимание этих концепций поможет вам в создании программ.
Переменные — это именованные области оперативной памяти, которые используются для хранения данных. В Python переменные создаются автоматически в момент присваивания значения. Переменные могут хранить данные разных типов (например, числа, строки, списки и множество других, которые мы изучим следующих модулях курса).
В Python всё является объектом, и каждый объект имеет определённый тип (или класс). Вот таблица, демонстрирующая типы некоторых объектов в Python:
Объект | Тип |
---|---|
42 | int |
3.14 | float |
"Hello, World!" | str |
True | bool |
None | NoneType |
[1, 2, 3] | list |
(1, 2, 3) | tuple |
{1, 2, 3} | set |
{"a": 1, "b": 2} | dict |
range(10) | range |
b"Hello" | bytes |
bytearray(5) | bytearray |
complex(1, 2) | complex |
lambda x: x**2 | function |
open('file.txt') | TextIOWrapper |
object() | object |
type(42) | type |
Присваивание значений
В Python используется оператор =
для присваивания значений переменной.
Пример:
x = 10
name = "Alice"
result = 3.14
Изменение значений переменной
Переменные могут быть изменены в процессе выполнения программы. Значение переменной заменяется новым значением.
Пример:
x = 5
x = x + 2 # Теперь x равно 7
Операции с переменными
Вы можете использовать переменные в арифметических выражениях, аналогично числам.
Пример:
a = 10
b = 3
result = a * b # Результат: 30
Множественное присваивание
Python позволяет присваивать значения нескольким переменным одновременно.
Пример:
a, b, c = 1, 2, 3
Типы данных переменных
В Python тип переменной может изменяться в зависимости от присваиваемого значения.
Например:
# Пример 1: Переменная сначала целое число, потом вещественное, затем строка
x = 10 # x - целое число (int)
print(type(x)) # <class 'int'>
x = 10.5 # x - вещественное число (float)
print(type(x)) # <class 'float'>
x = "Python" # x - строка (str)
print(type(x)) # <class 'str'>
# Пример 2: Переменная сначала строка, потом список, затем логическое значение
y = "Hello" # y - строка (str)
print(type(y)) # <class 'str'>
y = [1, 2, 3] # y - список (list)
print(type(y)) # <class 'list'>
y = True # y - логическое значение (bool)
print(type(y)) # <class 'bool'>
# Пример 3: Переменная сначала список, затем кортеж, потом множество
z = [1, 2, 3] # z - список (list)
print(type(z)) # <class 'list'>
z = (1, 2, 3) # z - кортеж (tuple)
print(type(z)) # <class 'tuple'>
z = {1, 2, 3} # z - множество (set)
print(type(z)) # <class 'set'>
# Пример 4: Переменная сначала словарь, затем None, потом снова число
a = {'key': 'value'} # a - словарь (dict)
print(type(a)) # <class 'dict'>
a = None # a - NoneType (None)
print(type(a)) # <class 'NoneType'>
a = 42 # a - целое число (int)
print(type(a)) # <class 'int'>
# Пример 5: Переменная сначала float, затем complex, потом bool
b = 3.14 # b - вещественное число (float)
print(type(b)) # <class 'float'>
b = False # b - логическое значение (bool)
print(type(b)) # <class 'bool'>
Функция type()
в Python — это встроенная функция, которая позволяет определить тип любого объекта. В Python, как уже упоминалось ранее, всё является объектом, и каждый объект принадлежит к определённому типу (например, числа, строки, списки и т.д.). Функция type()
возвращает этот тип.
В Python, все, с чем вы работаете — числа, строки, списки, функции и даже сами переменные — это объекты. Это одна из ключевых концепций, которая отличает Python от многих других языков программирования.
Объект — это нечто, что имеет состояние и поведение:
Состояние: это данные, которые хранятся в объекте. Например, у объекта-числа состояние — это его значение.
Поведение: это то, что объект может делать, т.е. методы или функции, которые он может выполнять. Например, объект-строка может выполнять такие действия, как изменение регистра или поиск символов.
Каждый объект в Python имеет:
int
для целых чисел, str
для строк.42
, строка "Привет, мир!"
.x = 10
y = "Hello"
z = [1, 2, 3]
вы создаете три разных объекта:
x = 10
: Здесь создается объект типа int
, который содержит значение 10
.y = "Hello"
: Здесь создается объект типа str
, который хранит строку "Hello"
.z = [1, 2, 3]
: Здесь создается объект типа list
, который хранит список из трех чисел.
Понимание того, что все в Python — это объекты, помогает лучше понять, как язык работает "под капотом". Например, когда вы присваиваете переменной новое значение:
x = 10 # x ссылается на объект 10
x = "Python" # Теперь x ссылается на новый объект "Python"
Вы не просто "изменяете переменную", а заставляете переменную ссылаться на новый объект. При этом старый объект (10
в данном примере) остаётся без ссылок, и его память может быть освобождена системой.