Posté par gUI (Mastodon) .
Évalué à 3.
Dernière modification le 26 novembre 2021 à 08:05.
Par contre cet exemple apporte de la confusion et ne révèle pas l'utilité des décorateurs, ce qui est une autre question…
Je confirme que l'exemple n'est pas très bon car au final il n'utilise pas la fonction décorée.
Pour moi le décorateur est un "tag" que tu mets à une fonction. L'exemple de Flask est plus parlant :
@app.route("/dlfp")defdlfp():return"DLFP RuL3z !"
Flask définit le décorateur "route". Ainsi, quand tu crées une fonction et que tu la décores par une URL, cette fonction sera appelée par le moteur Flask lorsqu'un visiteur va sur cette URL.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Anéfé, j'avais pas vu la précision en bas et tiqué sur la formulation en haut.
J'ai pas d'autre exemple courant. On doit pouvoir décorer une variable dans un module, un attribut dans une classe,… mais c'est pas quelque chose que je fais couramment.
# LMSTFY
Posté par Anonyme . Évalué à 4. Dernière modification le 25 novembre 2021 à 15:18.
https://stackoverflow.com/questions/6392739/what-does-the-at-symbol-do-in-python
# décorateur
Posté par goeb . Évalué à 2. Dernière modification le 25 novembre 2021 à 21:12.
Il s'agit d'un décorateur. C'est un remplacement d'une fonction par une autre.
L'exemple qui illustre :
Par contre cet exemple apporte de la confusion et ne révèle pas l'utilité des décorateurs, ce qui est une autre question…
[^] # Re: décorateur
Posté par gUI (Mastodon) . Évalué à 3. Dernière modification le 26 novembre 2021 à 08:05.
Je confirme que l'exemple n'est pas très bon car au final il n'utilise pas la fonction décorée.
Pour moi le décorateur est un "tag" que tu mets à une fonction. L'exemple de Flask est plus parlant :
Flask définit le décorateur "route". Ainsi, quand tu crées une fonction et que tu la décores par une URL, cette fonction sera appelée par le moteur Flask lorsqu'un visiteur va sur cette URL.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 5. Dernière modification le 26 novembre 2021 à 09:37.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: décorateur
Posté par jihele . Évalué à 2.
N'importe quel objet, pas forcément une fonction.
C'est aussi souvent une classe, par exemple.
[^] # Re: décorateur
Posté par Panhwein . Évalué à 2. Dernière modification le 27 novembre 2021 à 09:16.
Oui, on peut même en mettre plusieurs!
@noel
@clignote
@sapin
etc…
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: décorateur
Posté par jihele . Évalué à 2.
Anéfé, j'avais pas vu la précision en bas et tiqué sur la formulation en haut.
J'ai pas d'autre exemple courant. On doit pouvoir décorer une variable dans un module, un attribut dans une classe,… mais c'est pas quelque chose que je fais couramment.
[^] # Re: décorateur
Posté par Elfir3 . Évalué à 3.
Si ça peut aider à la compréhension, j'ajouterais que ces deux codes sont équivalents :
et
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.