Cours avancé de développement Python
Chapitre
>
Niveau
Décorateurs
Utilisation des décorateurs
Les fonctions personnalisées ont une large gamme d'utilisations, mais parfois vous pouvez vouloir ajouter des fonctionnalités supplémentaires à une fonction préexistante. Cela s'appelle un décorateur, c'est une fonction conçue pour augmenter une fonction existante, d'où son nom.
Pour ce niveau, les fours doivent être préparés afin de les rendre prêts pour la préparation des aliments. Utilisez des décorateurs pour open() et close() entre le chargement du bois de chauffage dans les fours.

Objectif
Remplissez les fours de bois de chauffage et réglez-les afin qu'ils puissent être préparés pour la cuisson en utilisant des décorateurs.
Les fours en briques doivent être préparés afin que vous puissiez cuire des aliments pour plus tard dans la soirée. Les fours sont éteints et vides et nécessitent du bois de chauffage pour être allumés. Prenez du bois de chauffage et faites-le charger dans les fours afin de pouvoir commencer à cuisiner. Vous pouvez faire cela manuellement ou en utilisant une fonction personnalisée ; cependant, le processus peut être accéléré en utilisant des décorateurs.
Les décorateurs sont des modules complémentaires que l'on peut ajouter à une fonction personnalisée afin d'en étendre la fonctionnalité à la demande sans avoir besoin de la compliquer avec des conditions.
# 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)
Marchez jusqu'à la réserve située en bas de la carte et récupérez les quatre (4) faisceaux de bûches. Rendez-vous ensuite vers la marque en X doré et utilisez la fonction read() pour vérifier le mémo affiché sur le bar indiquant les températures auxquelles les fours doivent être réglés. Notez les informations dans la fenêtre contextuelle, car vous en aurez besoin plus tard.
Ensuite, rendez-vous vers les marques en X claires près du four et utilisez la fonction décorée pour déposer le bois de chauffage, ainsi : prep_oven(). Pendant que vous déposez le bois dans le four, dirigez-vous vers les marques en X foncées sur les tapis colorés et utilisez la fonction asynchrone question() pour régler la température des fours.
La fonction d'assistance sera préconfigurée, nommée set_temperature(), et votre réponse à la question déterminera si la température sera réglée sur High ou sur Medium. Réglez la température en écrivant la fonction et en répondant à la question avec le mémo que vous avez lu précédemment, chaque température étant réglée en fonction du tapis coloré correspondant. N'oubliez pas d'utiliser await lorsque vous utilisez des fonctions asynchrones, comme ceci : await set_temperature()
Une fois que vous aurez préparé et réglé les quatre (4) fours, vous aurez terminé le niveau.