Возвращаемое значение
return выносит значение из функции. cups_left получает started и drank и отдаёт started - drank. Поэтому cups_left(3, 1) — это число 2.
print стоит вне функции и пишет то, что вышло. У cups_left своего print нет.
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 до этой строки не доходит.
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.
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 |
Следующая страница говорит, где имя ещё есть. Здесь только значение, которое выходит.
Перед ответом
- Что пишет print(cups_left(3, 1))?
- Чему равно cups_left(3, 3)?
- print("done") стоит под return. done написан?
- 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.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху