Méthode Python isinstance()

Fonction Python isinstance() renvoie True si l'objet est du type spécifié, et s'il ne correspond pas, renvoie False. Dans cet article, nous verrons comment fonctionne la méthode isinstance() en Python

Exemple

  Input:   isinstance([1, 2, 3], list)   Output:   True   Explanation:   The first parameter passed is of list type.   Input:   isinstance(10, str)   Output:   False   Explanation:   The first parameter, 10 is an integer and not a string. 

Syntaxe de la fonction Python isinstance()

La méthode isinstance() dans Python a la syntaxe suivante :

Syntaxe:

isinstance (obj, classe)

Paramètres :

  • obj : L'objet qui doit être vérifié en tant que partie de la classe ou non.
  • classe : classe/type/tuple de classe ou de type, par rapport auquel l'objet doit être vérifié.

Retour : True, si l'objet appartient à la classe/type donné si une seule classe est passée ou à l'une des classes/types si un tuple de classe/type est passé, sinon renvoie False.

Erreur-type: si autre chose que le type de classe valide mentionné.

Comment fonctionne la fonction instance() en Python ?

En Python, la méthode instance() fonctionne comme un opérateur de comparaison. Il faut deux arguments, l’un est un objet Python et l’autre est un type de classe. Il compare l'objet avec un type spécifié de classe ou une sous-classe et renvoie une valeur booléenne, vraie ou fausse.

Python3




numbers> => [> 1> ,> 2> ,> 3> ,> 4> ,> 2> ,> 5> ]> # Check if 'numbers' is an instance of a list> result> => isinstance> (numbers,> list> )> if> result:> > print> (> 'The variable 'numbers' is an instance of a list.'> )> else> :> > print> (> 'The variable 'numbers' is not an instance of a list.'> )>

Sortir

The variable 'numbers' is an instance of a list. 

Exemples de méthode isinstance() en Python

Nous pouvons fournir un seul type de classe ou un Tuple Python de classes à la méthode instance(). Dans le cas d'un tuple, la méthode instance() vérifie tous les éléments du tuple et renvoie True si l'objet est une instance de l'un des éléments du tuple, sinon elle renvoie False. Voyons quelques exemples de la méthode Python instance().

Python est une instance avec Int et List

Dans cet exemple, nous verrons comment la méthode isinstance() fonctionne avec un type de données Integer et avec Liste Python . On vérifie si l'entier et la liste sont une instance de type Integer ou String.

Python3




# initializing native types> test_int> => 5> test_list> => [> 1> ,> 2> ,> 3> ]> # testing with isinstance> print> (> 'Is test_int integer? : '> +> str> (> isinstance> (test_int,> int> )))> print> (> 'Is test_int string? : '> +> str> (> isinstance> (test_int,> str> )))> print> (> 'Is test_list integer? : '> +> str> (> isinstance> (test_list,> int> )))> print> (> 'Is test_list list? : '> +> str> (> isinstance> (test_list,> list> )))> # testing with tuple> print> (> 'Is test_int integer or list or string? : '> > +> str> (> isinstance> (test_int, (> int> ,> list> ,> str> ))))>

Sortir

Is test_int integer? : True Is test_int string? : False Is test_list integer? : False Is test_list list? : True Is test_int integer or list or string? : True 

Démonstration de l'utilisation de isinstance() avec des objets

Dans cet exemple, nous vérifierons la classe d'un objet en Python, c'est-à-dire si un objet est une instance d'une classe ou sa classe dérivée.

Python3




# declaring classes> class> gfg1:> > a> => 10> # inherited class> class> gfg2(gfg1):> > string> => 'techcodeview.com'> # initializing objects> obj1> => gfg1()> obj2> => gfg2()> # checking instances> print> (> 'Is obj1 instance of gfg1? : '> +> str> (> isinstance> (obj1, gfg1)))> print> (> 'Is obj2 instance of gfg2? : '> +> str> (> isinstance> (obj2, gfg2)))> print> (> 'Is obj1 instance of gfg2? : '> +> str> (> isinstance> (obj1, gfg2)))> # check inheritance case> # return true> print> (> 'Is obj2 instance of gfg1? : '> +> str> (> isinstance> (obj2, gfg1)))>

Sortir

Is obj1 instance of gfg1? : True Is obj2 instance of gfg2? : True Is obj1 instance of gfg2? : False Is obj2 instance of gfg1? : True 

Python isinstance() avec String

Dans cet exemple, nous utiliserons la fonction isinstance() avec un Chaîne Python et vérifiez la classe d'un objet en Python.

Python3




test_str> => 'techcodeview.com'> print> (> 'Is test_str string? : '> +> str> (> isinstance> (test_str,> str> )))>

Sortir

Is test_str string? : True 

Python isinstance() avec dictionnaire

La méthode Python isinstance() fonctionne également avec un dictionnaire object et vérifiez la classe d’un objet en Python.

Python3




test_dict> => {> 'apple'> :> 1> ,> 'Ball'> :> 2> }> print> (> 'Is test_str dictionary? : '> +> str> (> isinstance> (test_dict,> dict> )))>

Sortir

Is test_str dictionary? : True 

Python isinstance avec méthodes de classe

Dans cet exemple, nous utilisons la méthode isinstance() pour vérifier la valeur renvoyée par une fonction de classe avec un type spécifié et vérifier la classe d'un objet en Python.

Python3




class> geeks:> > course> => 'DSA'> > > def> purchase(obj):> > return> obj.course> > > geeks.purchase> => classmethod> (geeks.purchase)> str> (> isinstance> (geeks.purchase(),> str> ))>

Sortir

True 

Différence entre les méthodes isinstance() et type() en Python

Le tableau suivant montre les différences entre la méthode isinstance() et la méthode taper() méthode en Python.

estinstance()

taper()

Syntaxe : isinstance (objet, classe) Syntaxe : type(objet)

Il vérifie si un objet est d'un type de classe spécifique

Il renvoie le type de classe d'un objet

Il peut vérifier si l'objet appartient à une classe et à ses sous-classes

Il ne peut pas gérer l'héritage

C'est plus rapide que type() C'est plus lent que isinstance()
Il renvoie Vrai ou Faux Il renvoie le type de l'objet
Il peut vérifier plusieurs classes à la fois Il ne peut pas faire ça
Exemple: estinstance(10, (int, str)) Exemple: tapez(10)