La fonction isinstance() en python

La fonction isinstance() en python

  1. Objectifs

    • Être capable d’utiliser adéquatement la fonction isinstance() en python.
  2. Introduction

    • Python est un langage à typage dynamique. Une variable peut se voir attribuer plusieurs valeurs pendant la durée de vie du code.
    • Il est donc nécessaire de garder une trace du type de données que votre variable contient à un certain stade du code.
    • C’est là que les fonctions intégrées comme type() et isinstance() entrent en jeu.
    • Dans ce tutoriel, nous allons passer en revue la fonction isinstance() de Python.
    • Un utilisateur peut rencontrer certaines situations où il doit déterminer si un objet est une instance d’une classe spécifique, principalement en héritage . Python fournit une méthode intégrée pour vérifier la même chose, nommée isinstance().
    • La fonction() isinstance en python

  3. Définition

    • Comme son nom l’indique, la fonction isinstance() est une fonction intégrée qui vérifie si un objet est une instance d’une classe particulière ou non.
    • 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.
    • Les deux objets doivent être fournis en tant qu’arguments de la fonction.



  4. Syntaxe

    • isinstance(object, classinfo)

    • Paramètres:
      • Cette fonction prend deux paramètres en argument.
        • objet
          • Est un champ obligatoire. Cela devrait être une instance d’objet. Exemple: Tout nom de variable que vous avez défini comme int, mynum, etc.
        • classinfo
          • Est un champ obligatoire.
          • Une classe, un type ou un tuple de classes , de types ou d’autres tuples
    • Valeurs de retour:
      • La valeur de retour est “True” si classinfo est un objet de type et que l’objet est un objet de ce type ou de l’une de ses sous-classes.
      • La valeur de retour est “False” si l’objet n’est pas une instance de classe ou un objet du type donné.
  5. Cas d’utilisation

    • Utiliser isinstance() avec des classes natives en Python
        • Dans les deux exemples suivants nous utilisons la fonction isinstance() pour les classes natives en python comme int , float , str , list , dict et tuple .
        Exemple:01

          print(isinstance(5,float))
          >>>False
          print(isinstance(5.12,float))
          >>>True
          print(isinstance(5,int))
          >>>True
          print(isinstance('abc', str))
          >>>True
          print(isinstance([1,2,3], list))
          >>>True
          print(isinstance((1,2,3), tuple))
          >>>True
          print(isinstance({1:1,2:2,3:3}, dict))
          >>>True
        Exemple:02

          i=10
          f=55.55
          s="AskPython"
          l=[1,2,3,4,5]
          d={0:"n", 1:"y"}
          t=(1,2,3,4)
          print("isinstance(i,int)=",isinstance(i,int)) >>>isinstance(i,int)=True
          print("isinstance(f,int)=",isinstance(f,float)) >>>isinstance(f,int)=True
          print("isinstance(s,int)=",isinstance(s,str)) >>>isinstance(s,int)=True
          print("isinstance(l,int)=",isinstance(l,list)) >>>isinstance(l,int)=True
          print("isinstance(d,int)=",isinstance(d,dict)) >>>isinstance(d,int)=True
          print("isinstance(t,int)=",isinstance(t,tuple)) >>>isinstance(t,int)=True
          
    • Utiliser isinstance() avec des classes définies par l’utilisateur
      • Code

          class classe01:
              dd=10
              mm=2
              yyyy=2002
           
          class classe02:
              hr=12
              min=56
              sec=34
          #création d'instances
          x=classe01()
          y=classe02()
           
          #Vérifier si x est une instance de la classe classe01
          print("x est une instance de classe01?",isinstance(x,classe01))
          #Vérifier si x est une instance de la classe classe02
          print("x est une instance de classe02?",isinstance(x,classe02))
          #Vérifier si y est une instance de la classe classe02
          print("y est une instance de classe02?",isinstance(y,classe02))
          #Vérifier si y est une instance de la classe classe01
          print("y est une instance de classe01?",isinstance(y,classe01))
          
          
        Sortie

          x est une instance de classe01? True
          x est une instance de classe02? False
          y est une instance de classe02? True
          y est une instance de classe01? False
    • Utiliser isinstance() pour plusieurs classes
      • La fonction isinstance() nous permet de vérifier si un objet est une instance de n’importe quelle classe parmi certaines classes données.
      • Dans ce cas, nous devons passer un tuple des classes requises. La fonction retournera true si l’objet est une instance de n’importe quelle classe, sinon retourne false.
      • Code

          class classe01:
              dd=10
              mm=2
              yyyy=2002
           
          class classe02:
              hr=12
              min=56
              sec=34
          #création d'instances
          x=classe01()
          y=classe02()
           
          #Vérifier si x est une instance de la classe classe01 ou la classe classe02
          print("x est une instance de classe01 ou classe02?",isinstance(x,(classe01,classe02)))
          #Vérifier si y est une instance de la classe classe01  ou la classe classe02
          print("y est une instance de classe01 ou classe02?",isinstance(y,(classe01,classe02)))
        Sortie

          x est une instance de classe01 ou classe02? True
          y est une instance de classe01 ou classe02? True
  6. Exercices d’application

    1. Énoncé
      • Soit la liste suivante:
        stock = ["Ordinateur de bureau", "Ordinateur portable", 100, "Caméra",310.28,"Haut-parleurs", 27.00,"Télévision", 1000,"Cartes mères","souris","clavier",500,"barrettes de mémoire"]
        1. Afficher la liste "stock"
        2. ِCréer des listes séparées composées de chaînes et de nombres.
        3. Compter le nombre d’élément de chaque liste
        4. Trier la liste de chaînes par ordre croissant
        5. Trier la liste de chaînes par ordre décroissant
        6. Trier la liste des numéros du plus petit au plus grand
        7. Trier la liste des numéros du plus grand au plus petit
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !