Coding for KidsCoding for Kids
창의적인 레벨도전 과제교사 가이드
기능 투표
고급 파이썬 개발 과정
챕터
>
레벨

데코레이터
데코레이터 사용

커스텀 함수는 다양한 용도로 사용될 수 있습니다. 하지만 때때로 기존 함수에 추가 기능을 더하고 싶을 때가 있습니다. 이것을 데코레이터(decorator)라고 하며, 기존 함수를 보강하도록 설계된 함수입니다.

이번 단계에서는 오븐을 음식 준비를 위해 사전에 준비해야 합니다. 데코레이터를 사용하여 오븐에 장작을 넣는 사이사이에 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) 개의 오븐을 모두 준비 및 설정하면 레벨을 완료하게 됩니다.

코드북