es
English
中國人
Tiếng Việt
Deutsch
Українська
Português
Français
भारतीय
Türkçe
한국인
Italiano
Gaeilge
اردو
Indonesia
Polski 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.
Cuando se produce un error de sintaxis en Python, proporciona un mensaje que señala el problema. Este mensaje suele incluir:
Echemos un vistazo a los errores de sintaxis comunes en Python que los programadores encuentran a menudo.
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:
Arréglalo:
Asegúrese de que todos los paréntesis están correctamente cerrados.
print("Hello, World!")
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:
Arréglalo:
Sangrar correctamente el bloque de código.
def greet():
print("Hello, World!")
Olvidarse de incluir comas entre elementos de listas o diccionarios es otro error frecuente.
Ejemplo:
fruits = {"type": "sweert" "name": "orange"}
Mensaje:
Arréglalo:
Añadir la coma que falta entre "sweert" y "nombre".
fruits = {"type": "sweert", "name": "orange"}
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:
Arréglalo:
Elija un nombre diferente que no sea una palabra clave reservada.
level = "Beginner"
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:
Arréglalo:
Utilice un nombre de variable válido.
name2 = "John"
Las cadenas deben ir entre comillas. Si se olvida cerrar una cadena, se produce un problema de sintaxis.
Ejemplo:
message = "Hello, World!
Mensaje:
Arréglalo:
Asegúrese de que la cadena se cierra con el mismo tipo de comillas.
message = "Hello, World!"
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:
Arréglalo:
Añada dos puntos al final de la expresión compuesta.
def greet():
print("Hello, World!")
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:
Arréglalo:
Utilice el operador de comparación correcto.
if x == 10:
print("x is 10")
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.
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:
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:
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.
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:
Arréglalo:
Asegúrese de que está accediendo a índices de lista válidos.
print(numbers[2])
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!")
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