1.3 Переменные и присваивание#
Переменные#
Помимо комментариев, все, что мы будем встречать в Python, будет являться разного рода объектами: строки, числа, списки и даже функции. Любая инструкция, которую мы будем исполнять, будет осуществлять взаимодействие с теми или иными объектами. В результате различных вычислений мы также будем получать новые объекты чисел. Чтобы сохранить эти объекты в нашем коде и иметь возможность их переиспользования в других инструкциях, нам понадобятся переменные. Можно сказать, что переменные - это ссылки (указатели) на объекты, которые можно использовать в любых выражениях вместо конкретных значений.
Для переменных важно отметить два пункта:
Так как переменные являются всего лишь указателями, для них характерна динамическая типизация - простыми словами, нам не нужно заранее определять, что именно будет храниться в переменной, строка или число. Переменная может указывать на любой объект, и в любой момент времени можно переопределить, на какой объект она указывает. Это значит, что в одной строке кода можно присвоить переменной значения числа, а уже в следующей присвоить ей текстовое значение. Причём возможности внести какие-либо ограничения у нас не будет. Например, невозможно указать, что переменная должна хранить только числа.
В то же время в Python используется строгая типизация - это значит, что Python не станет сам изменять типы данных для значений, сохраненных в переменные, не будет никаких неявных преобразований. И если вдруг мы попробуем сложить число
1и строку"1", то мы получим ошибку.
Присваивание#
Для создания переменной необходимо выполнить операцию присваивания. Оператор присваивания - знак =. Перед знаком = указывается имя переменной, после знака = должно быть значение, которое нужно присвоить. Если имя переменной нигде раньше не использовалось, то в момент присваивания переменная будет объявлена и ей будет присвоено значение. Если на момент присваивания переменная уже существовала, то ей просто будет присвоено новое значение.
Пример простого присваивания:
# Simple Assignment
x = 2022 # Переменная x ссылается на объект целого числа 2022
x = 3.14 # Теперь переменная x ссылается на другой объект - число 3.14
Также одновременно можно присвоить несколько разных значений нескольким разным переменным.
Ключевой момент - количество значений должно совпадать с количеством переменных.
# Parallel Assignment
x, y = 60, 30 # x = 60; y = 30;
x, y, z = 60, 30, 0 # x = 60; y = 30; z = 0;
Ещё можно делать цепочки присваиваний, если нескольким переменным нужно присвоить одинаковое значение.
# Multiple assignments
x = y = z = 0 # x = 0; y = 0; z = 0;
Имена переменных#
При создании переменных с помощью любого из указанных способов нужно помнить, что для имён переменных существуют как ограничения, так и общие рекомендации.
Ограничения:
Может состоять только из букв, цифр и
_Не может начинаться с цифры
Переменные регистрозависимы, х и Х - разные имена переменных
Общие рекомендации:
В качестве имен переменных принято использовать слова или словосочетания на английском
Если имя переменной состоит из нескольких слов, то они разделяются с помощью
_Все слова пишутся в нижнем регистре
Если нам нужно объявить константу (переменную, значение которой мы не будем изменять), то используется верхний регистр
Приведем несколько примеров:
scale_factor = 1000 # Хорошее имя переменной, значение которой может изменяться
EARTH_RADIUS = 6371 # Хорошее имя переменной, которая будет восприниматься как константа
# Если имена переменных не соответсвуют рекомендациям, это никак не повлияет на работу кода
# Однако это ухудшает читаемость и понимание кода
scaleFactor = 1000
EarthRadius = 6371
Дополнительные материалы#
В Python есть набор документов, описывающих особенности языка. В них рассказывается, как и для чего нужно использовать те или иные функции, возможности языка. Такие документы называются PEP - Python Enhancement Proposal («Предложение по улучшению Python»). Наиболее известный среди них документ - PEP8. В PEP8 описывается, как правильно писать код в плане его оформления: где ставить пробелы, где ставить отступы и так далее. По мере прохождения курса стоит регулярно обращаться к этому документу и следить за тем, чтобы ваш код соответствовал обще принятым нормам.
Отметим первые пункты PEP8, которым уже можно следовать