Загрузка...

Возвращаемое значение

return выносит значение из функции. cups_left получает started и drank и отдаёт started - drank. Поэтому cups_left(3, 1) — это число 2.

print стоит вне функции и пишет то, что вышло. У cups_left своего print нет.

выходит 2

python
def cups_left(started, drank):
    return started - drank

print(cups_left(3, 1))

На экране 2. Это написал print, не cups_left. С другими числами выходит именно эта разность. cups_left(3, 3) равно 0, потому что 3 - 3 равно 0.

Строка под return по-прежнему с отступом и входит в функцию. Она всё равно не выполняется. return сразу выходит из функции, и Python до этой строки не доходит.

строка под return не выполняется

python
def cups_left(started, drank):
    return started - drank
    print("done")

print(cups_left(3, 1))

На экране 2. done не написан. print("done") с отступом под def, но return уже вышел из функции.

Без return значение не выходит, и результат — None. None значит: значения нет. greet пишет имя и не имеет return. Слово lida на экране идёт от внутреннего print. Сам результат greet("lida") — None.

внутренний print не результат

python
def greet(name):
    print(name)

print(greet("lida"))

На экране lida, потом None. greet написал lida. Внешний print написал результат. Этот результат None, потому что у greet нет return.

Три использования и то, что выходит из каждого. В строке greet результат None, хотя на экране есть и lida. Эта lida — внутренний print, не результат.

📊 Что выходит

Использование Результат
cups_left(3, 1) 2
cups_left(3, 3) 0
greet("lida") без return None

Следующая страница говорит, где имя ещё есть. Здесь только значение, которое выходит.

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

  1. Что пишет print(cups_left(3, 1))?
  2. Чему равно cups_left(3, 3)?
  3. print("done") стоит под return. done написан?
  4. greet пишет только имя. Какие две строки пишет print(greet("lida"))?

Значение, которое выходит

return started - drank делает результатом это число. print(cups_left(3, 1)) пишет 2, а cups_left(3, 3) равно 0. Строка под return не выполняется, поэтому done не появляется. Без return print(greet("lida")) пишет lida, потом None.

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

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

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

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

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

📝 Инструкции

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