Partage
  • Partager sur Facebook
  • Partager sur Twitter

Différence entre TypeError et ValueError

    21 octobre 2018 à 12:39:56

    Bonjour !

    S'il vous plait, j'aimerais bien savoir la différence entre ValueError et Type Error ?? Par exemple len(42) c'est un typeError parce que la fonction len n'est pas compatible avec les entiers, mais pourquoi int("python") par exemple retourne une ValueError alors que le int() n'est pas compatible avec les chaînes de caractères ? 

    Merci d'avance. 

    • Partager sur Facebook
    • Partager sur Twitter
      21 octobre 2018 à 14:49:48

      Tu peux tout à fait mettre des str dans int :

      a = in("18")
      
      # "18" est de type str
      # a est de type int et contient 18

      Donc l'erreur n'est pas au niveau du type de l'objet, mais des données qu'il contient (sa valeur quoi).

      -
      Edité par digammaF 21 octobre 2018 à 14:50:11

      • Partager sur Facebook
      • Partager sur Twitter

      typage structurel ftw

        21 octobre 2018 à 15:43:42

        Merci pour votre réponse, 

        Si je comprends bien:  En mettant une chaîne de caractères ou un entier ça serait tous les 2 justes. Le int() déclare l'erreur si ce qui est contenu dans la chaine de caractères ne peut pas être converti en un entier (Lettres par exemple) ? 

        -
        Edité par AnKL 21 octobre 2018 à 15:44:02

        • Partager sur Facebook
        • Partager sur Twitter
          21 octobre 2018 à 16:27:10

          C'est tout à fait ça
          • Partager sur Facebook
          • Partager sur Twitter

          typage structurel ftw

          Différence entre TypeError et ValueError

          × 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