10 errores comunes en python que pasan en la primera semana
En el mundo del desarrollo de software, encontrarse con errores es tan inevitable como la salida del sol. Sin embargo, cuando nos adentramos en el mundo de Python, algunos de estos errores, en lugar de encender la frustración, desatan una risa (a veces de nervios). En este artículo, vamos a desentrañar diez errores de Python y compartir algunas estrategias sobre cómo esquivarlos.
1. SyntaxError: EOL while scanning string literal
Este error a menudo aparece cuando Python no encuentra una comilla de cierre al final de la línea. Es como si Python nos dijera: "¡Quihubo! Me dejaste a medias aquí"
Ejemplo:
print("Hola, mundo)
Evítalo cerrando todas tus cadenas correctamente.
print("Hola, mundo")
2. IndentationError: expected an indented block
A Python le encantan los espacios en blanco y es implacable si los olvidas. Este error ocurre cuando Python esperaba una indentación, pero no obtuvo nada. Es la forma de Python de decir: "¡Sigue el espacio en blanco!"
Ejemplo:
if True
print("Hola, mundo"):
Evítalo indentando correctamente tu código.
if True
print("Hola, mundo"):
3. NameError: name 'foo' is not defined
Este error ocurre cuando intentas usar una variable antes de definirla. Es la versión de Python de un momento "¿Quién es ese Pokémon?".
Ejemplo:
print(foo)
Evítalo asegurándote de definir tus variables antes de usarlas.
foo = "Hola, mundo" print(foo)
4. TypeError: unsupported operand type(s) for +: 'int' and 'str'
Python puede ser flexible, pero se niega a sumar manzanas y naranjas, o más bien ints y cadenas. Este error aparece cuando intentas mezclar tipos incompatibles.
Ejemplo:
print(1 + "2")
Evítalo convirtiendo tus variables a tipos compatibles antes de la operación.
print(1 + int("2"))
5. ValueError: too many values to unpack (expected 2)
Cuando Python espera un par y obtiene un trío, lanza un ValueError. Este error es común cuando se intenta desempaquetar más variables que valores disponibles.
Ejemplo:
a, b = (1, 2, 3)
Evítalo asegurándote de tener el número correcto de variables para desempaquetar.
a, b, c = (1, 2, 3)
Recomendado por LinkedIn
6. ImportError: No module named 'foo'
Python lanza un ImportError cuando no puede encontrar el módulo que estás intentando importar. Es como ir a buscar un libro en una biblioteca que no tiene.
Ejemplo:
import foo
Evítalo asegurándote de que el módulo que intentas importar exista.
import math
7. AttributeError: 'NoneType' object has no attribute 'bar'
Cuando Python no puede encontrar el atributo que estás llamando, lanza un AttributeError. Es el equivalente de Python a intentar usar una puerta inexistente.
Ejemplo:
foo = None
print(foo.bar)
Evítalo asegurándote de que el objeto tenga el atributo que estás intentando acceder.
class Foo:
bar = "Hola, mundo"
foo = Foo()
print(foo.bar)
8. ZeroDivisionError: division by zero
Python sigue las leyes de las matemáticas, por lo que se produce un ZeroDivisionError cuando intentas dividir por cero. Es como si Python nos recordara: "¡Incluso yo no puedo hacer lo imposible!"
Ejemplo:
print(1 / 0)
Evítalo asegurándote de no dividir por cero.
if n != 0:
print(1 / n)
9. RecursionError: maximum recursion depth exceeded
Python lanza un RecursionError cuando una función se llama a sí misma indefinidamente. Es la forma de Python de decir: "¡Basta ya!"
Ejemplo:
def recursivo():
recursivo()
recursivo()
Evítalo proporcionando una base correcta para la recursión.
def recursivo(n):
if n == 0:
return 0
return n + recursivo(n-1)
recursivo(5)
10. KeyError: 'foo'
Cuando Python no puede encontrar una clave en un diccionario, lanza un KeyError. Es como intentar abrir una cerradura con una llave que no existe.
Ejemplo:
dict = {"Hola": "Mundo"}
print(dict["foo"])
Evítalo asegurándote de que la clave exista en el diccionario.
dict = {"Hola": "Mundo", "foo": "bar"}
print(dict["foo"])
La próxima vez que te encuentres con estos errores, recuerda que los errores no son sólo oportunidades para aprender, sino que también pueden ser una fuente de diversión. Después de todo, son nuestros percances
Mentor y Consultor Fortune 500, Speaker TEDx y Autor. Apoyo a empresas en Gobierno Corporativo, Transformación Digital, Liderazgo y Gestión del Cambio, integrando IA para potenciar crecimiento y adaptación ágil.
6 mesesBuen punto Aldo. Gracias por compartir