Comprender y corregir los errores de sintaxis habituales de Python

Comentarios: 0

Cada lenguaje de programación tiene un conjunto de reglas o gramática que sigue. Romper estas reglas resulta en lo que llamamos errores de sintaxis python, que pueden hacer que tu código falle. Estos problemas le ocurren a todo el mundo, tanto si estás empezando como si llevas años programando. Si alguna vez te has preguntado "¿qué son los errores de sintaxis en Python? Este artículo cubre los más comunes y explica cómo solucionarlos mientras codificas.

Errores comunes de Python y soluciones

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

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

Echemos un vistazo a los errores de sintaxis comunes en Python que los programadores encuentran a menudo.

Paréntesis omitidos o no coincidentes

Uno de los errores más comunes de los principiantes es olvidarse de cerrar los paréntesis. Esto es especialmente frecuente en las llamadas a funciones y en las estructuras anidadas.

Ejemplo:

print("Hello, World!"

Mensaje:

1.png

Arréglalo:

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

print("Hello, World!")

Errores de sangría en Python

La indentación especifica bloques de código. Los errores de sintaxis de Python pueden surgir si hay un problema con la sangría.

Ejemplo:

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

Emitir mensaje:

2.png

Arréglalo:

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:

3.png

Arréglalo:

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

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

Palabras clave reservadas de Python mal utilizadas

El uso incorrecto de estas palabras clave también puede dar lugar a problemas de sintaxis. Las palabras clave son palabras reservadas que tienen un significado especial.

Ejemplo:

class = "Beginner"

Emitir mensaje:

4.png

Arréglalo:

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 en Python.

Ejemplo:

2name = "John"

Mensaje:

5.png

Arréglalo:

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 problema de sintaxis.

Ejemplo:

message = "Hello, World!

Mensaje:

6.png

Arréglalo:

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

message = "Hello, World!"

Faltan dos puntos en frases compuestas

Puede producirse un problema sintáctico si faltan dos puntos (:) al final de una sentencia condicional compuesta, como if, for, while o def.

Ejemplo:

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

Mensaje:

7.png

Arréglalo:

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

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

Operador de asignación de Python mal colocado

Usar operadores incorrectamente puede causar errores de sintaxis en Python. Esto incluye operadores de asignación y operadores de comparación.

Ejemplo:

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

Mensaje:

8.png

Arréglalo:

Utilice el operador de comparación correcto.

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

Consejos para evitar los errores que se cometen a menudo al utilizar Python

  1. La edición con cuadernos Jupyter o VS Code ayuda resaltando los signos y problemas comunes a medida que escribes o modificas código dentro del editor.
  2. Escribe y prueba el código de forma incremental: esto te ayuda a comprobar el código Python en busca de errores de sintaxis con antelación y corregirlos antes de que sean más difíciles de rastrear.
  3. Sangría coherente: utilice espacios o tabulaciones para evitar confusiones y problemas.
  4. Utilice herramientas de linting: ejecute pylint o flake8 en su código para comprobar las partes potencialmente problemáticas, así como el cumplimiento de las normas de codificación.
  5. Consulta la documentación: ten a mano la documentación oficial para comprender las reglas sintácticas y las convenciones del lenguaje.

Errores de sintaxis en la práctica

Consideremos un simple script de web scraping que se encuentra con cualquier error y ayuda a entender cómo corregir errores de sintaxis en python depurador incorporado, 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:

9.png

Arréglalo:

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()

Añadir código de bloqueo con marcas de rotura:

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 (continuar): continuar con la ejecución hasta alcanzar el siguiente punto de interrupción.
  • p variable_name: imprime el valor de variable_name.

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

Con pdb, puede recorrer continuamente su programa, observar los valores de las distintas variables y comprender cómo se ejecuta el código, lo que permite detectar y solucionar problemas con rapidez.

Evitar errores de ejecución de Python

Con pdb, puede recorrer su programa, comprobar los valores de variables importantes y seguir el flujo de control para detectar fallos y errores lógicos. Problemas como la división por cero, el acceso a elementos fuera de rango en una lista o el uso de variables no definidas son problemas comunes que puedes detectar de esta manera.

Ejemplo:

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

Mensaje:

10.png

Arréglalo:

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

print(numbers[2])

Gestión de excepciones

Los bloques try-except permiten envolver código que pueda causar problemas. Al detectar estos problemas, tu programa puede seguir funcionando sin problemas incluso si encuentra errores de sintaxis en tu código.

Ejemplo:

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

Reflexiones finales

Familiarizarse con los errores comunes y revisar ejemplos de errores de sintaxis en Python es algo que todo desarrollador debería hacer. Cuanto más atención prestes a los mensajes de diagnóstico -y cuanto más rápido los corrijas- más fluido funcionará tu código. Utiliza herramientas y consejos que realmente apoyen tu trabajo.

Comentarios:

0 Comentarios