Python Función isinstance()
Funciones integradas de Python
Descripción
La función isinstance() se utiliza para determinar si un objeto es de un tipo conocido, similar a type().
Diferencia entre isinstance() y type():
type() no considera que una subclase sea un tipo de la clase padre; no tiene en cuenta la herencia.
isinstance() considera que una subclase es un tipo de la clase padre; tiene en cuenta la herencia.
Si desea determinar si dos tipos son iguales, se recomienda usar isinstance().
Sintaxis
La sintaxis del método isinstance() es la siguiente:
isinstance(object, classinfo)
Parámetros
- object -- objeto de instancia.
- classinfo -- puede ser un nombre de clase directo o indirecto, un tipo básico o una tupla compuesta por ellos.
Valor de retorno
Si el tipo del objeto coincide con el tipo del segundo parámetro (classinfo), devuelve True; de lo contrario, devuelve False.
Ejemplo
A continuación se muestra un ejemplo del uso de la función isinstance:
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # Devuelve True si es uno de los elementos de la tupla
True
Diferencia entre type() y isinstance():
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False