Back

Type d’un objet en Python

Type d’un objet en Python

  1. Objectifs

    • Etre capable de déterminer le type d’un objet en objet
  2. Présentation

    • Sous Python, il n’est pas nécessaire d’écrire des lignes de programme spécifiques pour définir le type des variables avant de pouvoir les utiliser.
    • Le langage Python est un langage typé dynamiquement : les variables ne sont pas typées à l’avance, leur type est défini en fonction de la valeur qu’elles contiennent.
    • À tout objet Python est associé :
      • Un emplacement en mémoire dans lequel est rangé sa représentation binaire ;
      • Un type qui désigne sa nature.



  3. Déterminer le type d’un objet

    • En Python, pour obtenir le type d’un objet ou déterminer s’il s’agit d’un type spécifique, utilisez les fonctions intégrées type() et isinstance().
    • Il est possible de déterminer le type d’un objet grâce à deux fonctions différentes. Bien qu’elles aient un fonctionnement similaire pour les types de base, elles diffèrent dans la gestion des types personnalisés.
      1. La fonction type()
        • La fonction type() retourne le type d’un objet.
        • Elle gère tous les types de base du langage Python mais également les types personnalisés que vous avez créés dans votre programme.
        • Cette fonction est utilisée pour connaître le type d’une donnée ou le type de la valeur d’une variable.
          • >>> type(15)
            int
            >>> a = 15
            >>> type(a)
            int
            >>> a = "toto"
            >>> type(a)
            str
      2. La fonction isinstance()
        • La fonction isinstance() est une fonction intégrée qui renvoie un booléen indiquant si un objet est une instance ou une sous-classe d’un autre objet
        • Elle prend en premier argument la variable et en deuxième argument le type à tester et retourne true si la variable est bien de ce type.
        • isinstance() accepte également en deuxième argument un tuple de type et retourne true si la variable appartient à l’un des types.
        • Pour plus d’information visitez la page: La fonction isinstance()
        • >>> isinstance(1, int)
          true
          >>> type(1) is int
          true
          >>> isinstance(Coucou, (int, str))
          True
      3. La différence entre type () et isinstance ()
        • La différence entre type() et isinstance() est que isinstance() renvoie True même pour les instances de sous-classes qui héritent de la classe spécifiée dans le deuxième argument.

        La fonction isinstance()intégrée est recommandée pour tester le type d’un objet, car elle prend en compte les sous-classes.

  4. Vérifier les chaînes de caractères

    • La méthode isalnum()
      • La méthode isalnum () renvoie True si tous les caractères de la chaîne sont alphanumériques (alphabets ou nombres). Sinon, il renvoie False.
      • La syntaxe de isalnum()est: string.isalnum ()
      • Valeur renvoyée par isalnum ()
        • Vrai si tous les caractères de la chaîne sont alphanumériques
        • Faux si au moins un caractère n’est pas alphanumérique
      • Exemple
      • nom = "M234hamed"
        print(nom.isalnum())
        
        # contains whitespace
        nom = "M3hamed Gell22er "
        print(nom.isalnum())
        nom = "Mo3nicaGell22er"
        print(nom.isalnum())
        
        nom = "133"
        print(nom.isalnum())
        Production
        
        Vrai
        Faux
        Vrai
        Vrai
    • La méthode isalpha()
      • La méthode isalpha () renvoie True si tous les caractères de la chaîne sont des alphabets. Sinon, il renvoie False.
      • La syntaxe de isalpha()est: string.isalpha()
      • Valeur renvoyée par isalpha()
        • Vrai si tous les caractères de la chaîne sont des alphabets.
        • Faux si au moins un caractère n’est pas un alphabet.
      • Exemple
      • nom = "Mohamed"
        print(nom.isalpha())
        
        # contains whitespace
        nom = "Mohamed Geller"
        print(nom.isalpha())
        
        # contains number
        nom = "Mo3hamedGell22er"
        print(nom.isalpha())
        Production
        
        Vrai
        Faux
        Faux
    • La méthode isdigit()
      • La méthode isdigit() renvoie True si tous les caractères de la chaîne sont des chiffres. Sinon, il renvoie False.
      • La syntaxe de isdigit()est: string.isdigit()
      • Valeur renvoyée par isdigit()
        • Vrai si tous les caractères sont des chiffres.
        • Faux si au moins un caractère n’est pas un chiffre.
        • En Python, les exposants et les indices (généralement écrits en Unicode) sont également considérés comme des caractères numériques. Par conséquent, si la chaîne contient ces caractères avec des caractères décimaux, isdigit() renvoie Vrai.
        • Les chiffres romains, les numérateurs de devises et les fractions (généralement écrits en Unicode) sont considérés comme des caractères numériques mais pas des chiffres. Les isdigit() retours Faux si la chaîne contient ces caractères.
      • Exemple
      • s = "28212"
        print(s.isdigit())
        
        # contains alphabets and spaces
        s = "Mo3 nicaG el l22er"
        print(s.isdigit())
        Production
        
        Vrai
        Faux
    • La méthode isnumeric()
      • La méthode isalpha () renvoie True si tous les caractères de la chaîne sont des caractères numériques. Sinon, il renvoie False.
      • Un caractère numérique a les propriétés suivantes:
        • Numeric_Type = Décimal
        • Numeric_Type = Chiffre
        • Numeric_Type = Numérique
      • En Python, les caractères décimaux (comme: 0, 1, 2 ..), les chiffres (comme: l’indice, l’exposant) et les caractères ayant la propriété de valeur numérique Unicode (comme: fraction, chiffres romains, numérateurs de devises) sont tous considérés comme des caractères numériques.
      • La syntaxe de isnumeric()est: string.isnumeric()
      • Valeur renvoyée par isnumeric()
        • Vrai si tous les caractères de la chaîne sont des caractères numériques.
        • Faux si au moins un caractère n’est pas un caractère numérique.
      • Exemple
      • s = '1242323'
        print(s.isnumeric())
        
        #s = '²3455'
        s = '\u00B23455'
        print(s.isnumeric())
        
        # s = '½'
        s = '\u00BD'
        print(s.isnumeric())
        
        s = '1242323'
        s='python12'
        print(s.isnumeric())
        Production
        
        Vrai
        Vrai
        Vrai
        Faux
    • La méthode isdecimal()
      • La méthode isdecimal() renvoie True si tous les caractères de la chaîne sont des caractères décimaux. Sinon, il renvoie False.
      • La syntaxe de isdecimal()est: string.isdecimal()
      • Valeur renvoyée par isdecimal()
        • Vrai si tous les caractères sont des décimaux.
        • Faux si au moins un caractère n’est pas un caractère décimal.
        • L’exposant et les indices sont considérés comme des caractères numériques mais pas des décimales. Si la chaîne contient ces caractères (généralement écrits en Unicode), isdecimal() renvoie Faux.
        • De même, les chiffres romains, les numérateurs de devises et les fractions sont considérés comme des nombres numériques (généralement écrits en Unicode) mais pas des décimales. Le isdecimal() retourne également Faux dans ce cas.
        • Il existe deux méthodes isdigit() et isnumeric() qui vérifie si la chaîne contient des caractères numériques et des caractères numériques respectivement.
      • Exemple
      • s = '23455'
        print(s.isdecimal())
        
        #s = '²3455'
        s = '\u00B23455'
        print(s.isdecimal())
        
        # s = '½'
        s = '\u00BD'
        print(s.isdecimal())
        Production
        
        Vrai
        Faux
        Faux
  5. Conversion de types

    • En programmation, on est souvent amené à convertir les types, c’est-à-dire passer d’un type numérique à une chaîne de caractères ou vice-versa.
    • En Python, rien de plus simple avec les fonctions int(), float() et str().
    • Exemple:
      • >>> i = 3
        >>> str (i)
        '3'
        >>> i = '456'
        >>> int (i)
        456
        >>> float (i)
        456.0
        >>> i = '3.1416 '
        >>> float (i)
        3.1416
  6. Applications






Riadh HAJJI

Laisser un commentaire

Abonnez vous à notre chaîne YouTube gratuitement