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) |