Зарегистрируйтесь, чтобы продолжить обучение

Что такое переменная Основы Python

Представьте, что нужно напечатать фразу Father! два раза:

print('Father!')
print('Father!')

Такой способ вполне подойдёт, если фраза встречается всего пару раз. Но что, если она будет использоваться часто, в разных частях программы? Тогда придётся копировать одно и то же выражение снова и снова.

А что будет, если фразу нужно изменить — например, заменить Father! на Mother!? Придётся искать и исправлять все вхождения вручную. Это неудобно и приводит к ошибкам.

Переменные

Чтобы не дублировать одну и ту же строку, её можно сохранить в переменной и распечатывать ее содержимое:

greeting = 'Father!'

print(greeting)
print(greeting)

Результат:

Father!
Father!

Определение переменной

Переменная — это имя, за которым хранится значение. В нашем примере мы создали переменную с именем greeting и записали в неё строку 'Father!'.

Строчка greeting = 'Father!' читается так: «возьми значение 'Father!' и присвой его переменной с именем greeting». Знак = здесь не означает равенство, как в математике, а является оператором присваивания. Он кладёт значение в переменную.

Когда мы пишем print(greeting), интерпретатор подставляет вместо имени greeting то значение, которое в ней хранится. В результате на экран выводится строка 'Father!'.

Имена переменных

Имена переменных придумывает сам программист. В Python можно использовать:

  • Латинские буквы (a–z, A–Z),
  • цифры (но не в начале),
  • нижнее подчёркивание _.

Примеры допустимых имён: greeting, name1, hello_world.

🔠 Важно: Python различает строчные и заглавные буквы. Переменные greeting, Greeting и GREETING — это три разные переменные.

Переменные и литералы

В коде важно различать, где мы используем переменную, а где записываем значение напрямую. Это особенно заметно на примере с print():

greeting = 'Mother!'
print(greeting)   # => Mother!
print('greeting') # => greeting

В первом случае используется переменная greeting, и программа подставляет её значение. Во втором случае 'greeting' заключено в кавычки, поэтому это строковый литерал — готовое значение, написанное прямо в коде. Несмотря на то, что мы видим и там и там слово greeting, с точки зрения интерпретатора это абсолютно разные вещи.

Литералы — это данные, записанные явно (например, 'Hello', 42, 3.14). Идентификаторы — это имена переменных и функций (например, greeting, print), которые указывают на уже существующие значения или команды.

А что будет, если мы напишем print(something) без создания самой переменной something? Интерпретатор выдаст ошибку, что мы пытаемся использовать переменную, которая не определена. Переменную от строки он отличает по наличию или отсутствию кавычек.

Порядок использования

Переменную нужно сначала создать (присвоить ей значение), а уже потом использовать. Если попытаться обратиться к переменной до её создания, программа выдаст ошибку:

print(name) # Ошибка: переменная ещё не определена
# NameError: name 'name' is not defined
name = 'Alice'

Такая ошибка называется "обращение к необъявленной переменной". Ее достаточно легко исправить, потому что текст ошибки однозначно говорит о том, какая переменная используется до объявления.

А в правильном порядке всё работает:

name = 'Alice'
print(name) # => Alice

Несколько переменных в программе

В одной программе можно создать сколько угодно переменных. Каждая хранит свои данные и не мешает другим:

greeting1 = 'Father!'
print(greeting1)
print(greeting1)

greeting2 = 'Mother!'
print(greeting2)
print(greeting2)

Как понять когда нужно несколько переменных? Количество переменных зависит от логики программы. Эта тема подробно раскрывается позже, когда мы столкнемся с функциями, условными конструкциями

Где создавать переменные

Программисты стараются создавать переменные ближе к месту, где они используются. Это делает код более читаемым. Особенно важно это в больших программах, где переменных может быть десятки и сотни тысяч.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff