1.3 Переменные и присваивание#

Переменные#

Помимо комментариев, все, что мы будем встречать в Python, будет являться разного рода объектами: строки, числа, списки и даже функции. Любая инструкция, которую мы будем исполнять, будет осуществлять взаимодействие с теми или иными объектами. В результате различных вычислений мы также будем получать новые объекты чисел. Чтобы сохранить эти объекты в нашем коде и иметь возможность их переиспользования в других инструкциях, нам понадобятся переменные. Можно сказать, что переменные - это ссылки (указатели) на объекты, которые можно использовать в любых выражениях вместо конкретных значений.

Для переменных важно отметить два пункта:

  1. Так как переменные являются всего лишь указателями, для них характерна динамическая типизация - простыми словами, нам не нужно заранее определять, что именно будет храниться в переменной, строка или число. Переменная может указывать на любой объект, и в любой момент времени можно переопределить, на какой объект она указывает. Это значит, что в одной строке кода можно присвоить переменной значения числа, а уже в следующей присвоить ей текстовое значение. Причём возможности внести какие-либо ограничения у нас не будет. Например, невозможно указать, что переменная должна хранить только числа.

  2. В то же время в 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, которым уже можно следовать

  1. Максимальная длина строки (79 символов)

  2. Использование комментариев

  3. Наименование переменных