El ValueError en Python es una muestra de su flexibilidad.
Python es lo suficientemente inteligente como para saber cuándo el código intenta asignar un valor incorrecto a un objeto.
Y es ahí es cuando lanzará su error ValueError que deberemos manejar.
En este post intentare explicar cual es su causa y su razón de ser.
Todas las excepciones de Python heredan de la clase BaseExceptions.
Dentro de la clase ValueError, también notará algunas otras excepciones.
La estructura jerárquica es esta.
BaseExceptions -> Exception -> ValueError -> UnicodeError -> UnicodeDecodeError -> UnicodeEncodeError -> UnicodeTranslateError
¿Qué es el ValueError en Python Python?
Un ValueError en Python es aquel que se lanza cuando se asigna un valor incorrecto a un objeto.
numero = 7
lista = []
list.remove(numero)
Causas del ValueError en Python en Python.
Cuando tienes el mismo tipo de objeto, pero el valor incorrecto, Python rechaza el código.
Una equivocación común es confundir un ValueError con un TypeError.
A diferencia de ValueError, se lanzará un TypeError cuando se realiza una operación que utiliza un tipo de objeto incorrecto o no admitido.
O sea es una diferencia de tipo de objeto, no de su valor.
Aplicandolo a la vida real, si tienes un auto e intentas ponerle 5 neumaticos este es un error de valor, o sea un ValueError, por el valor de los neumáticos será como máximo 5.
Si por el contrario tuvieras un auto e intentaras meterlo en una bolsa de viaje, es una ejemplo de TypeError, porque además de que no cabe, el tipo de objeto que corresponde no es ese.
Si ves una ventana que indica un ValueError en Python analiza tu código, buscando una de esas causas.
- Intentas realizar una operación cuando no existe un valor
- Tratas de extraer más valores de los que tiene un objeto
- El valor que esperas obtener es imposible (por ejemplo, si intentas obtener la raíz de un número negativo).
Espero haber ayudado.
El amor tiene firma de autor, en las causas perdidas
R. Arjona