Coding for KidsCoding for Kids
ระดับสร้างสรรค์ความท้าทายคู่มือครู
โหวตสำหรับฟีเจอร์
หลักสูตรการพัฒนาด้วย Python ขั้นสูง
บทที่
>
ระดับ

ตัวตกแต่ง
การใช้ตัวตกแต่ง

ฟังก์ชันที่กำหนดเองมีการใช้งานในหลายด้าน แต่บางครั้งคุณอาจต้องการเพิ่มฟังก์ชันการทำงานเพิ่มเติมให้กับฟังก์ชันที่มีอยู่แล้ว ซึ่งเรียกว่า decorator ซึ่งเป็นฟังก์ชันที่ออกแบบมาเพื่อเสริมฟังก์ชันที่มีอยู่เดิมให้ทำงานได้มากขึ้น

สำหรับระดับนี้ เตาต้องได้รับการเตรียมความพร้อมเพื่อให้พร้อมสำหรับการเตรียมอาหาร ใช้ decorator เพื่อเรียกใช้ open() และ close() ในช่วงระหว่างการโหลดฟืนลงในเตา

Guide

วัตถุประสงค์

เติมเตาอบด้วยกองไม้และตั้งค่าเตาเพื่อให้พร้อมสำหรับการทำอาหารด้วยการใช้ decorators.

เตาอบอิฐจำเป็นต้องได้รับการเตรียมเพื่อที่คุณจะได้อบอาหารในช่วงค่ำ หลังจากนั้นเตาอบปิดและว่างเปล่าและต้องการกองไม้เพื่อจุดไฟ จับไม้บางก้อนและเติมเข้าเตาอบเพื่อเริ่มทำอาหาร คุณสามารถทำขั้นตอนนี้ด้วยตนเองหรือโดยใช้ฟังก์ชันที่กำหนดเอง แต่กระบวนการนี้สามารถเร่งความเร็วได้ด้วยการใช้ decorators.

Decorators เป็นส่วนขยายที่สามารถเพิ่มเข้าไปในฟังก์ชันที่กำหนดเองเพื่อขยายความสามารถของมันตามต้องการ โดยไม่จำเป็นต้องซับซ้อนด้วยเงื่อนไข.

# 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 สีเข้มบนพรมที่มีสีและใช้ฟังก์ชัน async question() เพื่อกำหนดอุณหภูมิของเตาอบ

ฟังก์ชันสนับสนุนจะถูกตั้งค่าไว้ล่วงหน้า โดยมีชื่อว่า set_temperature() และคำตอบของคุณสำหรับคำถามจะเป็นตัวกำหนดว่าอุณหภูมิจะถูกตั้งเป็น High หรือ Medium ตั้งค่าอุณหภูมิด้วยการเขียนฟังก์ชันและตอบคำถามด้วยบันทึกที่คุณอ่านไว้ก่อนหน้านี้ โดยแต่ละอุณหภูมิต้องสอดคล้องกับพรมสีที่เกี่ยวข้อง อย่าลืมใช้ await เมื่อเรียกใช้ฟังก์ชัน async เช่นนี้: await set_temperature()

เมื่อคุณเตรียมและตั้งค่าเตาอบทั้งสี่ (4) เตาแล้ว คุณก็จะผ่านด่านนี้สำเร็จ

หนังสือโค้ด