Funció Python isinstance(). retorna True si l'objecte és dels tipus especificats i, si no coincideix, retorna False. En aquest article veurem com funciona el mètode isinstance() a 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.>
Sintaxi de la funció Python isinstance().
El mètode isinstance() a Python té la sintaxi següent:
Sintaxi:
isinstància (obj, classe)
Paràmetres:
- obj: L'objecte que cal comprovar com a part de la classe o no.
- classe: classe/tipus/tupla de classe o tipus, amb el qual s'ha de comprovar l'objecte.
Devolucions: És cert, si l'objecte pertany a la classe/tipus donada si es passa una classe o qualsevol classe/tipus si es passa una tupla de classe/tipus, en cas contrari retorna Fals.
TypeError: si hi ha alguna cosa que no sigui el tipus de classe vàlid esmentat.
Com funciona la funció instance() a Python?
A Python, el mètode instance() funciona com un operador de comparació. Pren dos arguments, un és un objecte Python i l'altre és un tipus de classe. Compara l'objecte amb un tipus de classe o subclasse especificat i retorna un valor booleà, que és Vertader o Fals.
Python 3
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.'> )> |
>
>Sortida
The variable 'numbers' is an instance of a list.>
Exemples del mètode isinstance() a Python
Podem proporcionar un sol tipus de classe o a Tupla Python de classes al mètode instància(). En el cas d'una tupla, el mètode instance() comprova tots els elements de la tupla i retorna True si l'objecte és una instància d'algun dels elements de la tupla, en cas contrari retorna False. Vegem uns quants exemples del mètode instance() de Python.
Python és una instància amb Int i List
En aquest exemple, veurem com funciona el mètode isinstance() amb un tipus de dades Integer i amb Llista de Python . Comprovem si l'enter i la llista són una instància d'un enter o de tipus String.
només nick
Python 3
# 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> ))))> |
>
>Sortida
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>
Demostració de l'ús d'isinstance() amb Objects
En aquest exemple, comprovarem la classe d'un objecte a Python, és a dir, si un objecte és una instància d'una classe o la seva classe derivada.
Python 3
modulació d'amplitud
# 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)))> |
>
>Sortida
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() amb String
En aquest exemple, utilitzarem la funció isinstance() amb a Cadena de Python i comproveu la classe d'un objecte a Python.
Python 3
test_str> => 'techcodeview.com'> print> (> 'Is test_str string? : '> +> str> (> isinstance> (test_str,> str> )))> |
>
>Sortida
Is test_str string? : True>
Python és una instància() amb diccionari
El mètode Python isinstance() també funciona amb a diccionari objecte i comproveu la classe d'un objecte a Python.
Python 3
test_dict> => {> 'apple'> :> 1> ,> 'Ball'> :> 2> }> print> (> 'Is test_str dictionary? : '> +> str> (> isinstance> (test_dict,> dict> )))> |
matriu java ordenada
>
>Sortida
Is test_str dictionary? : True>
Python és una instància amb mètodes de classe
En aquest exemple, utilitzem el mètode isinstance() per comprovar el valor retornat per una funció de classe amb un tipus especificat i comprovar la classe d'un objecte a Python.
Python 3
class> geeks:> > course> => 'DSA'> > > def> purchase(obj):> > return> obj.course> > > geeks.purchase> => classmethod> (geeks.purchase)> str> (> isinstance> (geeks.purchase(),> str> ))> |
>
>
Sortida
True>
Diferència entre els mètodes isinstance() i type() a Python
La taula següent mostra les diferències entre el mètode isinstance() i el tipus () mètode en Python.
és una instància () | tipus () |
---|---|
Sintaxi: isinstance(objecte, classe) | Sintaxi: tipus (objecte) |
Comprova si un objecte és d'un tipus de classe específic | Retorna el tipus de classe d'un objecte què es connecta automàticament a java |
Pot comprovar si l'objecte pertany a una classe i les seves subclasses | No es pot tractar amb l'herència |
És més ràpid en comparació amb type() | És més lent que isinstance() |
Retorna True o False | Retorna el tipus de l'objecte |
Pot comprovar si hi ha diverses classes alhora | Això no pot fer |
Exemple: isinstance(10, (int, str)) | Exemple: tipus (10) |