Загрузка...

Область имени

mark ставит cups в 2 и пишет cups. Это имя есть только пока выполняется mark(). Когда mark() закончился, cups уже нельзя использовать.

print сдвинут на четыре пробела и поэтому входит в mark. Строка mark() стоит на одном уровне с def.

cups есть только в mark()

python
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().

water в mark, сверху остаётся tea

python
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 дважды, и программа дойдёт до конца.

На следующей странице функция записана в одну строку. Здесь речь только о том, где имя ещё есть.

Перед ответом

  1. Что пишет первая программа?
  2. Вы ставите print(cups) под mark(). Программа доходит до конца?
  3. Что пишет вторая программа, сначала и потом?
  4. Вы убираете drink = "water" из mark. Что выходит?
  5. Где drink равен water?

Где имя ещё есть

Первая программа пишет 2, потому что mark пишет cups. Потом cups уже не имя, и print(cups) останавливает программу. Если mark только читает drink, выходит tea дважды. Со строкой drink = "water" внутри mark сначала water, потом tea. Сверху остаётся tea.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
6
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху