Включите исполнение JavaScript в браузере, чтобы запустить приложение.

Переменные в Python: что это такое, какие существуют типы переменных и как с ними работать

Все, что необходимо знать начинающему разработчику о переменных в Python. По каким правилам именуются переменные в Python? Какие существуют типы данных в Python? Что такое переменные и константы? Какая разница между глобальными и локальными переменными? Об этом и многом другом говорим в статье.
  1. Что такое переменная в Python
  2. Именование переменных
  3. Объявление переменных
  4. Типы данных в Python
  5. Объявление типов переменных
  6. Переменные и константы
  7. Глобальные и локальные переменные в 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.