- Что такое переменная в Python
- Именование переменных
- Объявление переменных
- Типы данных в Python
- Объявление типов переменных
- Переменные и константы
- Глобальные и локальные переменные в Python
Переменная — это область памяти компьютера, которая используется для хранения обрабатываемых программой данных. У нее есть:
- имя (задается программистом);
- значение (информация для обработки);
- тип (определяет область значений и осуществляемых над ними операций).
Важно отметить, что значение хранится как объект в памяти компьютера, а переменная выступает в качестве ссылки на него. Одному объекту в памяти может соответствовать несколько ссылок — то есть несколько переменных.
Именование переменных
Компьютерная программа — это текстовый документ, который читает не только компьютер, но и программист. Чтобы текст программы был понятен, следует осознанно подходить к именованию переменных. «Читаемость имеет значение» — говорится в PEP 20, Python Enhancement Proposal, стандартах-соглашениях по написанию программ на Python. Число 20 указывает на порядковый номер документа.
Документ, в котором содержатся принципы стиля кодирования, — PEP 8. Если руководствоваться его рекомендациями, текст программы будет красивым, лаконичным и читаемым.
Таких стандартов полезно придерживаться всем:
- Начинающим. Соблюдение принципов PEP 8 — правило хорошего тона, повышающее читаемость программы. На это обращают внимание работодатели.
- Опытным программистам. Над крупными проектами трудится сразу несколько разработчиков, которые совместно пишут большую и сложную программу. Крайне важно, чтобы программные блоки, созданные одним разработчиком, были понятны остальным.
Рассмотрим основные принципы PEP 8. Выделяют несколько стилей именования, согласно которым можно задать имя сущности в программе:
- строчной буквой — r;
- заглавной буквой — R;
- словом из строчных букв — result;
- набором слов из строчных букв, соединенных нижним слешем (подчеркиванием), — division_result;
- словом из заглавных букв — RESULT;
- набором слов из заглавных букв, соединенных нижним слешем, — DEVISION_RESULT;
- CapWords или StudlyCaps (набор слов, в котором пропущены пробелы, а часть символов написана в верхнем регистре согласно некому правилу) — DevisionResult;
- mixedCase — аналогично StudlyCaps, слова пишутся без пробелов, но первая буква имени строчная — devisionResult.
Разные стили используются в разных ситуациях:
- для наименования модулей и пакетов подходят короткие имена из символов в нижнем регистре. Использовать подчеркивание в названиях пакетов нежелательно;
- для классов и исключений используют соглашение CapWords;
- типам переменных рекомендуется давать короткие имена в стиле CapWords;
- для функций названия задаются словами в нижнем регистре, соединенными нижним слешем;
- для констант используют верхний регистр, а слова разделяют подчеркиванием;
- для переменных важно удобство читаемости, соответственно, называть их следует однозначным набором слов в нижнем регистре, разделенным пробелами в виде подчеркивания.
Помимо этого символы, используемые для написания имени, должны быть ASCII совместимы.
Рекомендуется избегать для имен из одной буквы символов l, I, O, так как их легко спутать с 1 и 0.
Объявление переменных
«Объявить» в Python означает создать соответствие между данными, сохраняемыми в памяти компьютера, и именем. Это осуществляется следующим образом:
- указывают имя;
- ставят знак равно «=»;
- задают значение.
В других языках программирования необходимо еще явно указать тип данных. Питон же — это динамически типизированный язык. Это означает, что тип не надо устанавливать заранее, в начале программы, он будет задан в момент объявления.
Чтобы объявить переменную, делаем так:
<no>Выделенный блок</no>
name = 'Maria'
age = 23
<no>Конец выделенного блока</no>
Как видно, явное указание типа здесь не добавляем.
Типы данных в Python
Тип данных задает область значений, которые переменная может принять, и определяет операции, которые разрешено с этими значениями осуществлять.
Использование типов данных оберегает от следующих ошибок:
- некорректная операция. Например, если необходимо найти сумму a и b, при этом a — это некоторое число. Задание типов данных защитит в ситуации, где b — строка символов. Ведь сложить 3,14 и «апельсин» нельзя;
- некорректная передача параметров. Например, определение типов данных защищает от непредвиденных результатов, если переменная, содержащая дату, передается в функцию (подпрограмму), позволяющую извлечь квадратный корень.
Стандартные типы данных в Python:
- числовые,
- последовательности,
- логические,
- множество,
- словарь,
- двоичный тип,
- бинарный,
- NoneType.
Рассмотрим основные типы подробнее.
Числовые (numeric). Определяют числа и арифметические операции.
- Целочисленные (int): могут принимать как положительные, так и отрицательные значения.
- С плавающей точкой (float): действительные числа.
- Комплексные (complex): записываются как действительная часть + мнимая часть с «j» в конце, например, 2+3j.
Типы данных последовательности (sequence type). Это упорядоченный набор данных, который используется для организованного хранения ряда элементов. Существует несколько типов данных последовательности:
- строка (str) — это набор из одного или нескольких символов Юникода, заключенных в кавычки. Символьного типа данных в Пайтоне нет — это означает, что даже одиночный символ в Python трактуется как строка;
- список (list) — это упорядоченный набор данных, элементы в котором могут быть разного типа. Список задается квадратными скобками [] с помощью перечисления значений через запятую внутри скобок;
- кортеж (Tuple), как и список, — упорядоченный набор значений. Отличие в том, что списки можно изменять, то есть добавлять или удалять элементы, а кортежи — нельзя. Кортеж задается аналогично списку, только элементы заключаются в круглые скобки ().
Логический (boolean). Существует два значения: True и False, истина или ложь.
Набор (set). Набор — неупорядоченная коллекция элементов, которую можно изменять. Набор содержит только уникальные элементы, двух одинаковых в нем нет. Набор определяется функцией set(), в скобках которой заключают последовательность элементов.
Словарь (dict). Словарь — неупорядоченный набор значений, содержащий пары ключ-значение. Словарь задается фигурными скобками {}, внутри которых помещается список пар ключ-значение, разделенных запятой. Ключ и значение в паре разделяется двоеточием.
Объявление типов переменных
Тип данных в Питоне устанавливается автоматически, в момент присвоения значения переменной.
Чтобы проверить тип, используется функция type().
Вывести на экран монитора тип можно так:
<no>Выделенный блок</no>
print(type(x))
<no>Конец выделенного блока</no>
Также для переменной можно задать тип данных, установив его по следующему шаблону:
<no>Выделенный блок</no>
имя переменной = функция, соответствующая желаемому типу данных, в скобках после функции указывается значение.
<no>Конец выделенного блока</no>
Например:
<no>Выделенный блок</no>
day = str('понедельник')
cash_bonus = float(5601.74)
<no>Конец выделенного блока</no>
Переменные и константы
Возникают ситуации, когда помимо переменных в программе необходимо использовать константы. Названия говорят сами за себя: значения и типы данных в переменных могут изменяться по мере работы программы, константы же соответствуют одним и тем же данным на протяжении всего выполнения программы.
В отличие от многих языков программирования, например, JavaScript, Пайтон не имеет специального функционала для объявления констант. Обозначить, какая из переменных должна оставаться неизменной, в Пайтоне невозможно. Но упомянутый ранее PEP 8 рекомендует именовать константы словами в верхнем регистре с использованием подчеркивания в качестве пробела. Например:
<no>Выделенный блок</no>
ACCELERATION_OF_GRAVITY = 9.8
EULERS_NUMBER = 2.71
CONSTANT_AVOGADRO = 6.02*10**23
<no>Конец выделенного блока</no>
Хотя компьютер этим соглашением не руководствуется и переменные не защищены от переопределения в ходе выполнения программы, разработчики будут воспринимать их как константы. Следовательно, не будут переопределять, присваивать другие значения или менять тип данных.
Глобальные и локальные переменные в Python
В программном коде существуют области видимости — части программы, в пределах которых переменная ссылается на области памяти, в которых хранятся значения. В таком случае говорят, что переменная «видна».
Вне области видимости переменная либо не связана со значением (свободна), либо может иметь другой тип данных или другое значение.
Существует два типа переменных:
- глобальные — видны во всей программе;
- локальные — видны в пределах локальной области видимости.
Локальная переменная создается только в случае выполнения блока программы, в котором она используется. По завершении выполнения этого программного блока локальные переменные удаляются из памяти компьютера, а глобальные — существуют до конца выполнения всей программы.
Изменить значение глобальной переменной можно и внутри функции, если использовать в теле ключевое слово global.