Область имени
mark ставит cups в 2 и пишет cups. Это имя есть только пока выполняется mark(). Когда mark() закончился, cups уже нельзя использовать.
print сдвинут на четыре пробела и поэтому входит в mark. Строка mark() стоит на одном уровне с def.
def mark():
cups = 2
print(cups)
mark()
На экране 2. Это написал print, пока шёл mark(). Если ниже написать print(cups), программа остановится. Отступ тут ни при чём. Имени cups уже нет.
drink = "tea" стоит над def. Если mark не создаёт имя drink и только выполняет print(drink), выходит tea, потом ещё tea. Обе строки про одно и то же drink.
Строка drink = "water" внутри mark не меняет drink над функцией. water действует только пока идёт mark().
drink = "tea"
def mark():
drink = "water"
print(drink)
mark()
print(drink)
Сначала water, потом tea. water написал print с отступом. tea написал print на уровне def. drink над функцией по-прежнему tea.
Две обычные ошибки
print(cups) под первой программой останавливает её. Это имя было только у mark. Во второй программе вторая строка — tea, не water. Если убрать drink = "water" из mark, выйдет tea дважды, и программа дойдёт до конца.
На следующей странице функция записана в одну строку. Здесь речь только о том, где имя ещё есть.
Перед ответом
- Что пишет первая программа?
- Вы ставите print(cups) под mark(). Программа доходит до конца?
- Что пишет вторая программа, сначала и потом?
- Вы убираете drink = "water" из mark. Что выходит?
- Где drink равен water?
Где имя ещё есть
Первая программа пишет 2, потому что mark пишет cups. Потом cups уже не имя, и print(cups) останавливает программу. Если mark только читает drink, выходит tea дважды. Со строкой drink = "water" внутри mark сначала water, потом tea. Сверху остаётся tea.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху