Загрузка...

Функции

def pour() записывает имя и держит print("tea") с отступом под ним. На экране пока ничего нет. tea появляется только когда в программе есть pour().

После pour скобки пустые, и строка кончается двоеточием. Следующая строка сдвинута на четыре пробела и поэтому входит в pour. Ниже pour() написан дважды. Каждая из этих строк выполняет print с отступом один раз.

pour() дважды

python
def pour():
    print("tea")

pour()
pour()

На экране tea, потом ещё раз tea. Первый pour() выполняет print один раз, второй ещё раз. Сам def ничего не пишет. Третий pour() написал бы третье tea.

Скобки выполняют строку

pour() выполняет строку с отступом. Одно имя pour этого не делает. tea не появляется, и программа не останавливается. Двоеточие после скобок обязательно. print должен быть сдвинут на четыре пробела. def пишется строчными. Def — другое слово, и программа останавливается там.

Строка на одном уровне с def находится вне функции. Python выполняет её, как только до неё доходит. pour() — отдельный шаг после этого.

сначала ready, потом pour()

python
def pour():
    print("tea")

print("ready")
pour()

Сначала ready, потом tea. print("ready") стоит на уровне def и выполняется сразу. pour() — следующая строка, поэтому tea идёт вторым. print с отступом ждёт этого pour().

Убрать pour()

Оставляете def pour(): и print("ready"). Строку pour() удаляете. На экране только ready. print("tea") по-прежнему лежит под именем, и ничто его не выполняет. Это не ошибка.

Когда программа останавливается

Def с большой D не начинает функцию. Без двоеточия после pour() программа останавливается. Если print("tea") начинается в том же столбце, что и def, он не внутри функции. Тогда у определения нет строки с отступом, и программа останавливается. Одно имя pour — тихий случай: программа может дойти до конца, а tea так и не будет написан.

pour всегда пишет одно и то же слово, tea. Он не принимает значение. Следующая страница даёт функции значение. Эта страница не возвращает значение из pour.

Сначала экран

  1. В первой программе сколько раз pour() и сколько раз tea?
  2. Вторая программа: какая первая строка на экране?
  3. Удаляете pour() и оставляете print("ready"). Что остаётся?
  4. Пишете pour без скобок. Выполняется ли print с отступом?

Одно чтение

def pour() хранит имя и print("tea") с отступом. Этот print выполняется только в pour(). Два pour() пишут tea дважды. print("ready") на уровне def, поэтому вторая программа пишет ready, потом tea. Без pour() tea не пишется.

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

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

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

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

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

📝 Инструкции

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