def dividir(a, b):
# Validar que ambos valores rean enteros:
# not isinstance(a, int) = "Si no es entero"
if not isinstance(a, int) or not isinstance(b, int):
raise TypeError("Ambos parámetros deben ser enteros")
return None
# Validar que no se pueda dividir por 0
if b == 0:
raise ValueError("El divisor no puede ser cero")
# Retornar el resultado
return a / b
# Error de tipo de dato
= 4, b = 2.2)
dividir(a # TypeError: Ambos parámetros deben ser enteros
= 4, b = 0)
dividir(a # ValueError: El divisor no puede ser cero
26 Validaciones de datos
La validación de tipos y manejo de excepciones en Python es esencial, sobre todo en proyectos colaborativos o críticos donde los datos externos juegan un papel crucial.
Important
Aunque Python permite especificar tipos de datos para los parámetros de una función (capítulo anterior), no garantiza que estos sean correctos en tiempo de ejecución.
Para realizar esto utilizamos la función isinstance
, que verifica si un objeto es una instancia de una clase específica o de cualquiera de las clases especificadas. Devuelve True
si la condición se cumple, False
en caso contrario.