Python: Изменение переменной
Само слово "переменная" подсказывает, что ее значение может меняться. Это одна из главных причин, почему переменные вообще существуют.
Вот простой пример:
# greeting переводится как приветствие
greeting = 'Father!'
print(greeting) # => Father!
greeting = 'Mother!'
print(greeting) # => Mother!Здесь мы сначала записали в переменную одну строку (Father!), потом другую (Mother!). Имя переменной не изменилось, но значение внутри стало другим.
До: greeting ──→ 'Father!'
╳
После: greeting ──→ 'Mother!'Зачем вообще менять значение?
В реальных программах переменные меняются постоянно. Вот несколько причин:
- Программа реагирует на действия пользователя. Например, пока вы вводите какие-то данные, в формы на сайте, они, в этот момент, вполне вероятно, постоянно меняют переменные, которые эти данные содержат
- Промежуточные результаты. Часто данные проходят через серию преобразований, и на каждом этапе переменная обновляется новым значением. Подобный механизм даже есть в калькуляторах, когда промежуточные значения сохраняются с помощью клавиш
m+илиm-. - Хранение состояния. Если вы пишете игру, то положение персонажа, его здоровье, счет и текущий уровень являются переменными, которые постоянно меняются.
Переменные создаются по мере использования
В Python переменную не нужно "объявлять заранее": она появляется в момент, когда вы впервые записываете в нее значение:
name = 'Arya' # переменная создается здесьЕсли потом вы снова напишете name = ..., это перезапишет старое значение. Так работает большинство современных языков программирования.
Почему это важно
Переменные представляют собой гибкий способ хранить данные, которые могут изменяться в процессе выполнения программы. Благодаря этому можно писать программы, которые ведут себя по-разному в зависимости от условий, действий пользователя или результатов вычислений.
Но у гибкости есть и обратная сторона. Иногда сложно сразу понять, что именно записано в переменную в тот или иной момент времени. Разработчику приходится отслеживать, где и как она изменилась, особенно если код длинный.
Именно это делают во время отладки: пытаются разобраться, почему программа работает иначе, чем задумано. Проверяют значения переменных, отслеживают порядок выполнения кода, ищут, где что-то пошло не так.
Задание
Статус заказа обновляется по мере его продвижения. В начале заказ находится «в пути», затем переходит в статус «доставлен».
В упражнении определена переменная delivery_status со значением "в пути". Переопределите ее значение на "доставлен" и выведите на экран.
Пример переопределения переменной:
some_var = 'старое значение'
some_var = 'новое значение'
print(some_var) # => новое значениеPython: Изменение переменной
Само слово "переменная" подсказывает, что ее значение может меняться. Это одна из главных причин, почему переменные вообще существуют.
Вот простой пример:
# greeting переводится как приветствие
greeting = 'Father!'
print(greeting) # => Father!
greeting = 'Mother!'
print(greeting) # => Mother!Здесь мы сначала записали в переменную одну строку (Father!), потом другую (Mother!). Имя переменной не изменилось, но значение внутри стало другим.
До: greeting ──→ 'Father!'
╳
После: greeting ──→ 'Mother!'Зачем вообще менять значение?
В реальных программах переменные меняются постоянно. Вот несколько причин:
- Программа реагирует на действия пользователя. Например, пока вы вводите какие-то данные, в формы на сайте, они, в этот момент, вполне вероятно, постоянно меняют переменные, которые эти данные содержат
- Промежуточные результаты. Часто данные проходят через серию преобразований, и на каждом этапе переменная обновляется новым значением. Подобный механизм даже есть в калькуляторах, когда промежуточные значения сохраняются с помощью клавиш
m+илиm-. - Хранение состояния. Если вы пишете игру, то положение персонажа, его здоровье, счет и текущий уровень являются переменными, которые постоянно меняются.
Переменные создаются по мере использования
В Python переменную не нужно "объявлять заранее": она появляется в момент, когда вы впервые записываете в нее значение:
name = 'Arya' # переменная создается здесьЕсли потом вы снова напишете name = ..., это перезапишет старое значение. Так работает большинство современных языков программирования.
Почему это важно
Переменные представляют собой гибкий способ хранить данные, которые могут изменяться в процессе выполнения программы. Благодаря этому можно писать программы, которые ведут себя по-разному в зависимости от условий, действий пользователя или результатов вычислений.
Но у гибкости есть и обратная сторона. Иногда сложно сразу понять, что именно записано в переменную в тот или иной момент времени. Разработчику приходится отслеживать, где и как она изменилась, особенно если код длинный.
Именно это делают во время отладки: пытаются разобраться, почему программа работает иначе, чем задумано. Проверяют значения переменных, отслеживают порядок выполнения кода, ищут, где что-то пошло не так.
Задание
Статус заказа обновляется по мере его продвижения. В начале заказ находится «в пути», затем переходит в статус «доставлен».
В упражнении определена переменная delivery_status со значением "в пути". Переопределите ее значение на "доставлен" и выведите на экран.
Пример переопределения переменной:
some_var = 'старое значение'
some_var = 'новое значение'
print(some_var) # => новое значениеВаше упражнение проверяется по этим тестам
import importlib
def test(capsys):
expected = "доставлен"
expect_output(capsys, expected)
def expect_output(capsys, expected):
importlib.import_module('solution')
out, _err = capsys.readouterr()
actual = out.strip('\n')
with capsys.disabled():
print('\n')
print(out)
assert actual == expectedРешение учителя откроется через:
20:00
