Что такое переменная в Python
Допустим, вы воспользовались методом строки и получили новую строку:
print("Ваня любит яблоки".replace("Ваня", "Алёша"))
# Этот код выведет «Алёша любит яблоки»
Разберём как Python будет исполнять этот код. Он будет разбирать код как бы «изнутри»: сначала он увидит строку “Ваня любит яблоки”. Затем он увидит .replace()
. Методы применяются сразу же, поэтому он тут же заменит Ваня
на Алёша
. Появится новая строка: Алёша любит яблоки
. Он подставит её вместо всего выражения:
print("Алёша любит яблоки")
Далее эта строка попадёт в print()
, и он её выведет на экран.
Переменные — это способ выдернуть строку Алёша любит яблоки
из всего этого процесса и сохранить её в памяти компьютера:
my_variable = "Ваня любит яблоки".replace("Ваня", "Алёша")
print(my_variable)
# Этот код тоже выведет «Алёша любит яблоки»
(“my variable” — это “моя переменная” на английском)
Давайте разберём как Python прочитает этот код. Он снова первым делом увидит строку Ваня любит яблоки
. И снова сразу выполнит метод, прикреплённый к ней. Слово Ваня
заменится на Алёша
. Но теперь новая строка попадёт не в print()
, а окажется после знака равно:
my_variable = "Алёша любит яблоки"
print(my_variable)
Теперь перед ним строчка my_variable = "Алёша любит яблоки"
. Тут как в школьной математике, где мы писали x = 7
. Мы просто называем строку "Алёша любит яблоки"
именем: my_variable
. Теперь она так называется. Если мы хотим вывести её на экран, мы можем написать так:
print("Алёша любит яблоки")
А можем так:
print(my_variable)
Зачем они нужны
Переменные удобны, когда одно значение используется многократно:
unit_cost = 20
print('Цена штуки', unit_cost)
print('Цена десятка', 10 * unit_cost)
print('Цена дюжины', 12 * unit_cost)
Или когда нужно выполнить много действий подряд. Когда мы делаем всё сразу в одной строчке, становится немного непонятно:
print("Сказка о том, как %зверь% съел %еда%. Жил был %зверь% в своей %дом% и ел %еда%. Конец.".replace("%зверь%","кролик").replace("%дом%", "норке").replace("%еда%", "морковку"))
Этот код выводит:
Сказка о том, как кролик съел морковку. Жил был кролик в своей норке и ел морковку. Конец.
Переменные позволяют разделить код на несколько строк:
sample = "Сказка о том, как %зверь% съел %еда%. Жил был %зверь% в своей %дом% и ел %еда%. Конец."
sample = sample.replace("%зверь%","кролик")
sample = sample.replace("%дом%", "норке")
sample = sample.replace("%еда%", "морковку")
Теперь на каждой строке происходит одно действие: мы записали строку в переменную, затем заменили название зверя, затем его дом, затем название еды, которую он ел. Такой код читать проще.
Немного подробнее о том, как они работают
Так же, как в математике, x = 7
— это не навсегда. Можно повесить название my_variable
на новую штуку:
my_variable = "Алёша любит яблоки"
my_variable = "Новый текст"
print(my_variable)
Выведется "Новый текст"
. Сначала мы назвали строку "Алёша любит яблоки"
переменной my_variable
. А потом сказали, что теперь так называется строка "Новый текст"
. Когда мы попросили Python вывести my_variable
, он вывел "Новый текст"
.
Итак, одна переменная ссылается только на один объект. Можно-ли один объект называть несколькими переменными? Сразу проверим на практике:
variable_1 = "Мой текст"
variable_2 = "Мой текст"
print(variable_1)
print(variable_2)
Выведется Мой текст
дважды. Значит, можно.
Правила создания переменных
Переменные создаются так: название_переменной = значение
( название, равно, значение).
Как выбрать название:
- На английском.
- Маленькими буквами, вместо пробела — нижнее подчёркивание.
- Не может начинаться с цифры.
- Не может содержать пробелов или сециальных символов:
!@#$%^&*(){}[],./"
- Было бы круто называть их так, чтобы по названию было понятно что в ней лежит. Например, если вы хотите отправить письмо, то так переменную и назовите:
letter
(англ. «письмо»). - Переменная — не строка. Кавычки ставить вокруг названия не нужно.
Что может быть значением, для которого создаётся переменная? На самом деле, почти всё, что есть в Python: строки, числа, функции…
Узнать больше:
- Доклад что такое переменные от Moscow Python.
- Переменные в Python
- Использование переменных в Python3
- Переменные и типы данных (статья немного сложнее, лучше не читать первой)
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.