Comprender y corregir los errores de sintaxis habituales de Python

Comentarios: 0

Como cualquier lenguaje de programación, Python tiene su propio conjunto de reglas. Si no se siguen estas reglas, el código se vuelve incomprensible para el intérprete, dando lugar a errores de sintaxis. Estos errores son problemas comunes con los que se encuentran tanto los programadores noveles como los experimentados. El artículo analiza los errores más frecuentes en Python y proporciona métodos para corregirlos durante el proceso de programación.

Errores comunes de Python y soluciones

Cuando se produce un error de sintaxis, Python proporciona un mensaje de error que señala el problema. Este mensaje suele incluir:

  • El nombre de archivo y el número de línea donde se ha producido el error.
  • La línea específica de código que causa el error.
  • Un signo de intercalación (^) señalando el punto exacto donde el intérprete se confundió.
  • Una descripción del error que insinúa la naturaleza del problema.

Paréntesis omitidos o no coincidentes

Uno de los errores más comunes que cometen los principiantes en Python es olvidarse de cerrar los paréntesis. Esto es especialmente común en las llamadas a funciones y estructuras anidadas.

Ejemplo:

print("Hello, World!"

Mensaje de error de Python:

1.png

Fijar:

Asegúrese de que todos los paréntesis están correctamente cerrados.

print("Hello, World!")

Errores de sangría en Python

Python se basa en la indentación para definir bloques de código. Una indentación incorrecta puede provocar errores de sintaxis.

Ejemplo:

def greet():
print("Hello, World!")

Mensaje de error de Python:

2.png

Fijar:

Sangrar correctamente el bloque de código.

def greet():
    print("Hello, World!")

Errores de puntuación en listas o diccionarios

Olvidarse de incluir comas entre elementos de listas o diccionarios es otro error frecuente.

Ejemplo:

fruits = {"type": "sweert" "name": "orange"}

Mensaje de error de Python:

3.png

Fijar:

Añadir la coma que falta entre "sweert" y "nombre".

fruits = {"type": "sweert", "name": "orange"}

Palabras clave reservadas de Python mal utilizadas

El uso inadecuado de las palabras clave reservadas de Python también puede dar lugar a errores de sintaxis. Las palabras clave son palabras reservadas que tienen un significado especial.

Ejemplo:

class = "Beginner"

Mensaje de error de Python:

4.png

Fijar:

Elija un nombre diferente que no sea una palabra clave reservada.

level = "Beginner"

Nombres de variables ilegales

Los nombres de las variables deben seguir unas reglas específicas. El uso de nombres de variables ilegales, como los que empiezan por un número o contienen espacios, provoca errores de sintaxis.

Ejemplo:

2name = "John"

Mensaje de error de Python:

5.png

Fijar:

Utilice un nombre de variable válido.

name2 = "John"

Cadenas no cerradas

Las cadenas deben ir entre comillas. Si se olvida cerrar una cadena, se produce un error de sintaxis.

Ejemplo:

message = "Hello, World!

Mensaje de error de Python:

6.png

Fijar:

Asegúrese de que la cadena se cierra con el mismo tipo de comillas.

message = "Hello, World!"

Faltan dos puntos en las frases compuestas

Olvidarse de añadir dos puntos (:) al final de sentencias compuestas como if, for, while y def puede dar lugar a errores sintácticos.

Ejemplo:

def greet()
    print("Hello, World!")

Mensaje de error de Python:

7.png

Fijar:

Añada dos puntos al final de la expresión compuesta.

def greet():
    print("Hello, World!")

Operador de asignación de Python mal colocado

El uso incorrecto de los operadores puede provocar errores de sintaxis. Esto incluye operadores de asignación y operadores de comparación.

Ejemplo:

if x = 10:
    print("x is 10")

Mensaje de error de Python:

8.png

Fijar:

Utilice el operador de comparación correcto.

if x == 10:
    print("x is 10")

Consejos para evitar errores comunes en Python

  1. Utiliza un editor de código para Python: herramientas como PyCharm, VS Code o Jupyter Notebook resaltan los errores de sintaxis mientras escribes, lo que facilita su detección y corrección.
  2. Escriba y pruebe el código de forma incremental: ejecute regularmente el código en pequeños fragmentos para detectar errores a tiempo.
  3. Sangría coherente: para evitar confusiones y errores, utilice espacios o tabulaciones de forma coherente.
  4. Utiliza herramientas de linting de Python: utiliza linters como pylint o flake8 para analizar tu código en busca de posibles errores y hacer cumplir las normas de codificación.
  5. Consulta la documentación: ten a mano la documentación oficial de Python para comprender las reglas y convenciones sintácticas.

Errores de sintaxis en la práctica

Consideremos un simple script de web scraping que encuentra un error de sintaxis y cómo depurarlo usando el depurador incorporado de Python, pdb.

Depuración de un script de web scraping con pdb

Código original:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles
    print(title.text)

Mensaje de error de Python:

9.png

Fijar:

Añade los dos puntos que faltan después del bucle for.

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles:
    print(title.text)

Usando pdb para depurar:

Añade la siguiente línea antes del bucle para iniciar el depurador.

import pdb; pdb.set_trace()

Código modificado con breakpoint:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
import pdb; pdb.set_trace()
for title in titles:
    print(title.text)

Cuando ejecutes el script, el depurador pdb se iniciará en el punto de interrupción.

> /path/to/your/script.py(10)()
-> for title in titles:
(Pdb)

Comandos de depuración:

  • n (next): ejecuta la siguiente línea de código.
  • c (continue): continúa la ejecución hasta el siguiente punto de interrupción.
  • p nombre_variable: imprimir el valor de nombre_variable.

Ejemplo de sesión:

(Pdb) n
> /path/to/your/script.py(11)()
-> print(title.text)
(Pdb) p titles
[<h1>Example Domain</h1>]
(Pdb) c
Example Domain

Mediante el uso de pdb, puede recorrer su código, inspeccionar variables y comprender el flujo de ejecución, lo que facilita la identificación y corrección de errores.

Evitando errores de ejecución de Python

Los errores de interpretación se producen cuando el procesador es incapaz de entender tu código de forma completa, pero los errores en tiempo de ejecución tienen lugar mientras tu código se está ejecutando. La división por cero, tocar fuera de ámbito matriz en una lista, así como las variables no definidas cuenta de este tipo de errores.

Ejemplo:

numbers = [1, 2, 3]
print(numbers[3])

Mensaje de error de Python:

10.png

Fijar:

Asegúrese de que está accediendo a índices de lista válidos.

print(numbers[2])

Manejo de excepciones en Python

El manejo de excepciones permite que su programa continúe ejecutándose incluso cuando se produce un error. Utilice bloques try-except para capturar y manejar excepciones.

Ejemplo:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")

Conclusión

Adquirir experiencia en los errores comunes y rectificar los errores en la sintaxis de Python es muy esencial para cualquier desarrollador de Python. Leer los mensajes de error de Python y proceder a las correcciones subsiguientes garantiza que uno escriba mejor código con facilidad.

Comentarios:

0 Comentarios