Coding for KidsCoding for Kids
Творческие УровниИспытанияРуководство для Учителей
Голосовать за функции
Продвинутый курс разработки на Python
Глава
>
Уровень

Декораторы
Использование декораторов

Пользовательские функции имеют широкий спектр применения, однако иногда может потребоваться добавить дополнительный функционал в уже существующую функцию. Это называется декоратором, то есть функция, предназначенная для расширения возможностей существующей функции, отсюда и название.

На этом уровне необходимо подготовить печи, чтобы они были готовы для приготовления пищи. Используйте декораторы, чтобы open() и close() выполнялись между загрузкой дров в печи.

Guide

Цель

Заполните печи дровами и настройте их для готовки, используя декораторы.

Кирпичные печи нужно подготовить, чтобы вы могли запечь пищу для вечера. Печи выключены и пусты, и им нужны дрова для розжига. Возьмите дрова и загрузите их в печи, чтобы начать готовить. Вы можете выполнить эту задачу вручную или с помощью пользовательской функции, но процесс можно ускорить, используя декораторы.

Декораторы — это дополнения, которые можно добавить к пользовательской функции, чтобы расширить её функциональность по требованию, не усложняя её чрезмерными условиями.

# Decorator, adds extra functionality to another function def load_wood(func): def load(): player.open() func() player.close() return load # Custom function that can be decorated def add_wood(): player.place("firewood") player.speak("Three logs placed in oven") # Decorate the custom function prep_oven = load_wood(add_wood)

Пройдите в кладовую в нижней части карты и соберите все четыре (4) связки бревен. Пройдите к золотой отметке X и используйте функцию read(), чтобы проверить записку на табло с указанием температур, при которых должны работать печи. Обратите внимание на информацию во всплывающем окне, так как она понадобится вам позже.

Затем подойдите к светлым X-отметкам возле печи и используйте декорированную функцию для загрузки дров, например: prep_oven(). Пока вы загружаете дрова в печь, подойдите к тёмным X-отметкам на цветных коврах и используйте асинхронную функцию question(), чтобы установить температуру печей.

Вспомогательная функция будет заранее настроена и называться set_temperature(), а ваш ответ на вопрос определит, будет ли температура установлена на High или на Medium. Установите температуру, написав функцию и ответив на вопрос, используя информацию из записки, которую вы прочитали ранее, при этом каждая температура соответствует определённому цветному ковру. Не забудьте использовать await при вызове асинхронных функций, например: await set_temperature()

После подготовки и установки всех четырёх (4) печей вы завершите уровень.

Книга Кода