Partage
  • Partager sur Facebook
  • Partager sur Twitter

Accéder à l'argument d'un décorateur depuis l'exté

    29 novembre 2023 à 14:33:20

    Salut tout le monde !

    Est-ce que quelqu'un ici sait comment accéder à l'argument d'un décorateur depuis l'extérieur ?

    J'ai ce décorateur :

    def mydecorator(myVariable):
        def new_function(func):
            return func
        return new_function

    que j'utilise pour décorer cette fonction :

    @mydecorator(777)
    def addition(a, b):
        return a + b


    Ensuite quand je vais appeler

    addition(3, 4)

    Comment je peux faire pour récupérer le 777 ?

    Merci d'avance :pirate:

    EDIT : Je pense avoir trouvé. Je mettrai à jour ce topic avec la solution après l'avoir testée.

    -
    Edité par ThomasAirain 29 novembre 2023 à 14:57:47

    • Partager sur Facebook
    • Partager sur Twitter
      30 novembre 2023 à 15:52:01

      Du coup j’ai tout simplement ajouté un attribut à ma fonction :

      func.my_attribute = "my_attribute"

      et ensuite je n’avais plus qu’à récupérer cet attribut à l’extérieur.

      je savais pas que c’était possible.

      • Partager sur Facebook
      • Partager sur Twitter
        30 novembre 2023 à 18:12:27

        Ce ne sont pas forcément de bonnes pratiques/solutions... mais sans avoir posé le problème à résoudre, difficile de vous aider.
        • Partager sur Facebook
        • Partager sur Twitter

        Accéder à l'argument d'un décorateur depuis l'exté

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown