Coding for KidsCoding for Kids
Luovat TasotHaasteetOpettajan Opas
Äänestä ominaisuuksia
Edistynyt Python-kehityskurssi
Luku
>
Taso

Dekoraattorit
Dekoraattorien käyttäminen

Muokatuilla funktioilla on laaja käyttöalue, mutta joskus saatat haluta lisätä ylimääräistä toiminnallisuutta jo olemassa olevaan funktioon. Tätä kutsutaan dekoratoriksi, eli se on funktio, joka on suunniteltu parantamaan olemassa olevaa funktiota, kuten nimi kertoo.

Tässä tasossa uunit tulee valmistella, jotta ne ovat valmiit ruoanlaittoa varten. Käytä dekorattoreita kutsuaksesi open() ja close() funktioita polttopuiden lataamisen välillä.

Guide

Tavoite

Täytä uunit polttopuulla ja aseta uunit niin, että ne ovat valmiita ruoanlaittoon dekorattoreiden avulla.

Tiiliuunit on valmisteltava, jotta voit leipoa ruokaa myöhempää iltaa varten. Uunit ovat sammuksissa ja tyhjiä, ja ne tarvitsevat polttopuuta sytytettäväksi. Hanki polttopuuta ja lastaa se uuneihin, jotta voit aloittaa ruoanlaiton. Vaikka voit tehdä tämän manuaalisesti tai käyttämällä omaa funktiota, prosessia voi nopeuttaa käyttämällä dekoraattoreita.

Dekoraattorit ovat lisäosia, joita voidaan lisätä omaan funktioon laajentaakseen sen toiminnallisuutta tarpeen mukaan ilman, että funktio monimutkaistuu ehtolauseilla.

# 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)

Kävele kartan alareunassa olevaan varastoon ja kerää kaikki neljä (4) polttopuun nippua. Kävele sitten kultaiselle X-merkkille ja käytä read()-funktiota tarkistaaksesi baarissa olevan muistiinpanon, jossa kerrotaan, mihin lämpötiloihin uunit tulisi asettaa. Merkitse ylös ponnahdusikkunassa näkyvä tieto, sillä tarvitset sitä myöhemmin.

Jatka kävelemällä uunin vieressä oleville vaaleille X-merkille ja käytä dekoroitua funktiota polttopuun asettamiseksi, kuten näin: prep_oven(). Kun asetat polttopuuta uuniin, kävele värillisillä matoilla oleville tummille X-merkille ja käytä question() async -funktiota uunien lämpötilan asettamiseksi.

Etukäteen määritellään apufunktio nimeltä set_temperature(), ja vastauksesi kysymykseen määrää, asetetaanko lämpötila High- vai Medium-tilaan. Aseta lämpötila kirjoittamalla funktio ja vastaamalla kysymykseen käyttäen aiemmin lukemaasi muistiinpanoa, siten että kullekin lämpötilalle asetetaan siihen kuuluvalla värillisellä matolla. Muista käyttää await async-funktioita käytettäessä, esimerkiksi näin: await set_temperature()

Kun olet valmistellut ja asetellut kaikki neljä (4) uunia, olet suorittanut tason.

Koodikirja