Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Python
/

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

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

Коммерческий опыт и Трудоустройство

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

Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "ИИ-помощник":

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

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

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

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном телеграм-сообществе

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

  1. Привет, Мир!
  2. Комментарии
  3. Инструкции (Statements)
  4. Как мы проверяем ваши решения
  5. Синтаксические ошибки
  6. Арифметические операции
  7. Операторы
  8. Коммутативная операция
  9. Композиция операций
  10. Приоритет
  11. Числа с плавающей точкой
  12. Линтер
  13. Кавычки
  14. Экранированные последовательности
  15. Конкатенация
  16. Кодировка
  17. Что такое переменная
  18. Изменение переменной
  19. Выбор имени переменной
  20. Ошибки при работе с переменными
  21. Выражения в определениях
  22. Переменные и конкатенация
  23. Именование переменных
  24. Магические числа
  25. Константы
  26. Интерполяция
  27. Извлечение символов из строки
  28. Срезы строк
  29. Multi-line строки
  30. Типы данных
  31. Сильная (или Строгая) типизация
  32. Неизменяемость примитивных типов
  33. Явное преобразование типов
  34. Функции и их вызов
  35. Сигнатура функции
  36. Аргументы по умолчанию
  37. Вызов функции — выражение
  38. Функции с переменным числом параметров
  39. Детерминированность
  40. Стандартная библиотека
  41. Объекты
  42. Неизменяемость
  43. Методы как выражения
  44. Цепочка вызовов
  45. Создание (определение) функций
  46. Возврат значений
  47. Параметры функций
  48. Необязательные параметры функций
  49. Именованные аргументы
  50. Аннотации типов
  51. Логический тип
  52. Предикаты
  53. Комбинирование операций и функций
  54. Логические операторы
  55. Отрицание
  56. Результат логических выражений
  57. Условная конструкция (if)
  58. Условная конструкция else
  59. Конструкция else + if = elif
  60. Тернарный оператор
  61. Оператор Match
  62. Цикл While
  63. Агрегация данных (Числа)
  64. Агрегация данных (Строки)
  65. Обход строк
  66. Условия внутри тела цикла
  67. Формирование строк в циклах
  68. Пограничные случаи
  69. Синтаксический сахар
  70. Возврат из циклов
  71. Цикл For
  72. Цикл for и функция range
/
Программирование
/
Курс Python
/

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

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

Коммерческий опыт и Трудоустройство

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

Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "ИИ-помощник":

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

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

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

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
Loading...
← ПредыдущийСледующий →
← ПредыдущийСледующий →

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

from hexlet.test import expect_output


def test(capsys):
    expected = "anneirB"
    expect_output(capsys, expected)
← ПредыдущийСледующий →

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

20:00

waiting_clock
← ПредыдущийСледующий →