DamiRocK

Python: переменная, присваивание и повторное использование адреса

Сохраняем URL в переменную и выводим дважды. Различаем имя и строковый литерал, присваивание и математическое равенство, порядок определения и использования.

Имя для значения

Присваивание связывает имя с результатом выражения. В greeting = "Hello" справа записано значение, а слева — имя, по которому к нему обращаются дальше. Знак = здесь выполняет присваивание, а не проверку равенства.

Задание источника

Создайте переменную url со значением https://hexlet.io и выведите её дважды.

url = "https://hexlet.io"
print(url)
print(url)

На экране появятся две одинаковые строки с адресом. Код не открывает сайт: адрес используется только как текст.

Имя и литерал

Сравните:

print(url)
print("url")

Первый вызов использует сохранённое значение, второй печатает три буквы url. Кавычки меняют смысл записи, а не только её оформление.

Порядок действий

В этом линейном примере присваивание должно выполниться до обращения к имени. Вызов print(url) при ещё не определённом url приведёт к NameError, если такого имени нет в доступной области.

Имена чувствительны к регистру: url и URL различаются. В учебном стиле используют понятные латинские имена с подчёркиваниями; это соглашение о читаемости, а не утверждение, что Python допускает только латинские буквы во всех идентификаторах.

Зачем сохранять значение

Если адрес нужно изменить, достаточно поменять исходное присваивание перед двумя выводами. Это уменьшает дублирование текста. Однако переменная не является «живой формулой»: каждое присваивание сохраняет результат выражения в момент его выполнения.

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Адаптация; технические ограничения уточнены.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.