Partage
  • Partager sur Facebook
  • Partager sur Twitter

Annotations

Sujet résolu
    13 septembre 2023 à 17:49:33

    Bonjour, j'aimerais annoter les types d'entrée/sortie d'une méthode mais comment faire si, pour ce faire, il s'agit de mentionner dans l'annotation une classe qui n'a pas encore été définie ?

    Voici un exemple pour illustrer mon propos :

    class UneClasse:
        def __init__(self):
            pass
    
        def une_methode(self, argument: UneAutreClasse):
            return
    
    
    class UneAutreClasse:
        def __init__(self):
            pass
    
        def une_methode(self, argument: UneClasse):
            return



    Merci par avance pour votre réponse,

    Bonne soirée.

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2023 à 18:20:06

      Tu peux importer annotations de cette manière,

      from __future__ import annotations

      qui permet de retarder l'évaluation des annotations de type

      Référence : PEP 563

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        13 septembre 2023 à 21:28:12

        fred1599 a écrit:

        Tu peux importer annotations de cette manière,

        from __future__ import annotations

        qui permet de retarder l'évaluation des annotations de type

        Référence : PEP 563

        Merci pour ta réponse !
        • Partager sur Facebook
        • Partager sur Twitter
          14 septembre 2023 à 11:41:04

          Bonjour,

          Sujet résolu

          Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)
          • Partager sur Facebook
          • Partager sur Twitter
            5 octobre 2023 à 17:45:14

            AbcAbc6 a écrit:

            Bonjour,

            Sujet résolu

            Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)


            Oui, c'est vrai, merci pour le rappel !
            • Partager sur Facebook
            • Partager sur Twitter
              13 octobre 2023 à 16:52:47

              Et en l'absence de cet import, tu peux aussi annoter avec des chaînes de caractères pour ainsi faire référence à des types qui ne sont pas encore définis.

              class UneClasse:
                  def __init__(self):
                      pass
               
                  def une_methode(self, argument: "UneAutreClasse"):
                      return
              

              -
              Edité par entwanne 13 octobre 2023 à 16:53:00

              • Partager sur Facebook
              • Partager sur Twitter

              Annotations

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown