Переменные в Python

Переменная — это область памяти с названием и с заданным типом в которой хранится определенной значение. У переменной всегда есть имя. По этому имени к переменной всегда можно обратиться и получить значение которое в ней хранится.

Как в Python присвоить переменной значение

В Python для того что бы присвоить значение переменной, как и во многих современных языках, нужно использовать знак равенства «=». По этому для сравнения знак равенства использовать нельзя и вместо него используют вот такой знак «==».


# Переменной "month" присвоено значение строкового типа со значением "Сентябрь"
month = "Сентябрь"

# Переменной "g" присвоено значение числового типа со значением "9.8"
g = 9.8

Динамическая типизация в Python

За этим непонятным словом «Динамическая типизация» скрывается особенность языка Python, которая облегчает работу программистам. Тип переменной в языке Python присваивается динамически, в зависимости от значения которое присвоено переменной.

Например если переменной присвоено число, то она числового типа и для нее доступны операции с числами (сложение, умножение, деление и т.д.). Если переменной присвоена строка, то это переменная строкового типа и мы можем использовать ее как строку.

В итоге вам не нужно для каждой переменной прописывать ее тип. Просто присвойте ей значение! Кстати, можно переменной присвоить сначала значение одного типа, а потом другого. В этом случае тип тоже меняется.  Например:


month = "Сентябрь" # тип "строка"
month = 9 # тип изменился и стал "число"

Типы данных и структуры данных в Python

Как вы уже знаете бывают разные типы данных. В языке программирования Python доступны следующие типы данных:

  • Логический тип
  • Числа
  • Строки

Каждый тип данных характеризуется набором допустимых значений и операциями над этим типом данных. Подробно о типах данных в Python читайте в пункте Типы данных Python.

Типы данных служат кирпичиками для более сложных структур, которые называются Структуры данных. В Python доступны следующие структуры данных:

  • Списки
  • Кортежи
  • Множества
  • Словари

Подробнее о структурах данных читайте в Главе «Структуры данных Python».

Доступные имена переменных в Python

Переменным можно давать любые имена. Имена могут состоять из одной буквы или нескольких.

Например если мы пишем программу для решения квадратного уравнения, то можно использовать одно буквенные переменные:


a = 2
b = 3
c = -5
x = 10
y = a * x ** 2 + b * x + c

Если мы пишем программу для расчета зарплаты на предприятии, то переменным нужно давать более информативные названия. Например


worker = "Иванов"
report_card = 165

При составлении названия переменной нужно придерживаться следующих ограничений:

  • Первым символом не должно быть число или спецсимвол (можно использовать букву, а так же знак подчеркивания)
  •  Нужно использовать буквы английского алфавита
  • Имена переменных не должны совпадать с ключевыми словами: [‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

Так как в Python нет констант, рекомендуется переменные которые не планируется изменять писать заглавными буквами:


PI = 3.14
JANUARY = "Январь"

Некоторые синтаксические конструкции в Python

В Python есть ряд конструкций для работы с переменными, которые облегчают программирование и делают код более читабельным. Но без них вполне можно обойтись и по этому такие конструкции наpаваются синтаксическим сахаром.

Поменять значение переменных местами:


a = 2
b = 3
a,b = b,a

Последовательное присвоение значений переменным


a = b = c = 1

Инкремент. Это увеличение переменной на единицу. Часто используемая конструкция, особенно в циклах. В некоторых языках программирования вместо i = i + 1 можно записать как i++ и вторая консрукция будет быстрее исполняться. В Python ускорения мы не получим, но такая конструкция выглядит чуть более кратко.


i = i + 1
i += 1

области видимости переменных

пример что при ф = и для списков это ссылка