¿Cómo usar la función isinstance en Python?

Autor: | Última modificación: 5 de diciembre de 2023 | Tiempo de Lectura: 2 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este artículo, te explicamos cómo utilizar la función isinstance en Python y cómo puede ser útil en tu desarrollo como programador. Python, ese lenguaje de programación tan versátil y poderoso, tiene muchas funciones y características que hacen que la programación sea más eficiente y menos propensa a errores. Una de esas funciones es isinstance, que permite verificar el tipo de un objeto en Python.

¿Qué es isinstance en Python?

La función isinstance en Python es una de las herramientas más útiles en el arsenal de cualquier programador. En pocas palabras, isinstance se utiliza para verificar si un objeto es una instancia de una clase o una tupla de clases. Devuelve True si el objeto es una instancia de la clase indicada y False en caso contrario.

Sintaxis básica de isinstance

La sintaxis básica de isinstance es la siguiente:

isinstance(objeto, clase_o_tupla_de_clases)
  • objeto: es el objeto que quieres verificar.
  • clase_o_tupla_de_clases: es la clase o tupla de clases con la que deseas comparar el objeto.

Ejemplos de uso

Vamos a ver algunos ejemplos para comprender mejor cómo funciona isinstance en Python:

  • Verificar si un objeto es una instancia de una clase específica:
class MiClase: 
     pass 

objeto = MiClase() 

resultado = isinstance(objeto, MiClase) 
print(resultado) # True

En este ejemplo, estamos verificando si el objeto objeto es una instancia de la clase MiClase, y la función isinstance devuelve True porque es cierto.

  • Verificar si un objeto es una instancia de una tupla de clases:
class ClaseA: 
        pass
 
class ClaseB: 
        pass
 
objeto = ClaseA()
 
resultado = isinstance(objeto, (ClaseA, ClaseB)) 
print(resultado) # True

Aquí, estamos comprobando si objeto es una instancia de cualquiera de las clases en la tupla (ClaseA, ClaseB). Como objeto es una instancia de ClaseA, la función isinstance devuelve True.

El segundo argumento de isinstance

Además de la comprobación básica que hemos visto hasta ahora, isinstance en Python también puede utilizarse para verificar si un objeto es una instancia de una clase derivada de una clase base. Esto se logra mediante el segundo argumento de la función isinstance.

class ClaseBase: 
       pass
 
class ClaseDerivada(ClaseBase): 
       pass 

objeto = ClaseDerivada() 

resultado = isinstance(objeto, ClaseBase) 
print(resultado) # True

Aquí, estamos comprobando si objeto es una instancia de ClaseBase o de cualquier clase derivada de ClaseBase. Como objeto es una instancia de ClaseDerivada, la función isinstance devuelve True.

Duck Typing en Python

Es importante mencionar que Python es un lenguaje que utiliza el concepto de duck typing. Esto significa que Python se enfoca en lo que un objeto puede hacer en lugar de en su tipo específico. Por lo tanto, aunque isinstance en Python puede ser útil, a menudo es preferible verificar si un objeto tiene ciertos atributos o métodos en lugar de su tipo exacto.

En resumen, la función isinstance en Python es una herramienta esencial que te permite verificar el tipo de un objeto.

Te enseñamos más en KeepCoding

Si estás interesado en el desarrollo web y quieres aprender más sobre Python y otras tecnologías relacionadas, el Desarrollo Web Full Stack Bootcamp de KeepCoding es la oportunidad perfecta para ti. En este bootcamp, no solo aprenderás a utilizar isinstance y otras funciones de Python, sino que también adquirirás habilidades avanzadas en desarrollo web que te abrirán las puertas a una industria con una alta demanda de profesionales. ¡Pide más información y transforma tu futuro!

👉 Descubre más del Desarrollo Web Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado