Python: Изменение переменной

Само слово «переменная» подсказывает, что её значение может меняться. Это одна из главных причин, почему переменные вообще существуют.

Вот простой пример:

# greeting — переводится как приветствие
greeting = 'Father!'
print(greeting)  # => Father!

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

Здесь мы сначала записали в переменную одну строку (Father!), потом — другую (Mother!). Имя переменной не изменилось, но значение внутри стало другим.

Зачем вообще менять значение?

В реальных программах переменные меняются постоянно. Вот несколько причин:

  • Программа реагирует на действия пользователя. Например, пока вы вводите какие-то данные, в формы на сайте, они, в этот момент, вполне вероятно, постоянно меняют переменные, которые эти данные содержат
  • Промежуточные результаты. Часто данные проходят через серию преобразований — на каждом этапе переменная обновляется новым значением. Подобный механизм даже есть в калькуляторах, когда промежуточные значения сохраняются с помощью клавиш m+ или m-.
  • Хранение состояния. Если вы пишете игру, то положение персонажа, его здоровье, счёт, текущий уровень — всё это переменные, которые постоянно меняются.

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

В Python переменную не нужно «объявлять заранее» — она появляется в момент, когда вы впервые записываете в неё значение:

name = 'Arya'  # переменная создаётся здесь

Если потом вы снова напишете name = ..., это перезапишет старое значение. Так работает большинство современных языков программирования.

⚠️ Но важно помнить: переменную нельзя использовать раньше, чем она создана.

print(name)      # Ошибка! Переменная ещё не создана
name = 'Arya'

Python не знает, что такое name, потому что вы ещё ничего туда не записали. При запуске программа остановится и покажет сообщение об ошибке.

✅ Правильный порядок:

name = 'Arya'     # Сначала создаём
print(name)       # Потом используем

Почему это важно

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

Но у гибкости есть и обратная сторона. Иногда сложно сразу понять, что именно записано в переменную в тот или иной момент времени. Разработчику приходится отслеживать, где и как она изменилась — особенно если код длинный.

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

Задание

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

Обратите внимание: в данном задании вам предстоит писать код между строчками с комментариями # BEGIN и # END

Определения

Переменная
способ сохранить информацию и дать ей имя для последующего использования в коде.
Как с вами связаться? 🙃

Команда проекта находится в телеграм-сообществе по ссылке https://ttttt.me/HexletLearningBot. Там можно задать любой вопрос и повлиять на проект

Упражнение не проходит проверку — что делать? 😶

Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "Обсуждение". Как правильно задать вопрос:

В моей среде код работает, а здесь нет 🤨

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя 🤔

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

Прочитал урок — ничего не понятно 🙄

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в обратной связи нашего сообщества

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются

Привет! Я Тота и моя задача помочь в обучении. Чтобы активировать меня, нужно зарегистрироваться или залогиниться, если у вас уже есть аккаунт

Loading...

Ваше упражнение проверяется по этим тестам

1from hexlet.test import expect_output
2
3
4def test(capsys):
5    expected = "anneirB"
6    expect_output(capsys, expected)
7

Решение учителя откроется через:

20:00
waiting_clock