😨 ¿Qué es la sintaxis en python?
Si desglosamos el título veremos una palabra que te suena en chino mandarín «sintaxis» y por cierto no significa ausencia de taxis!! pero es muy importante en los lenguajes de programación. Veamos porqué!
Pero antes, si algo te suena en chino, pídele al chino que lo repita.. Vuelve a leer una y otra vez hasta que comprendas lo que estas leyendo!
Dijimos que programar es colocar “ordenes” como “instrucciones” como si se tratara de una lista de cosas que debe hacer el interprete. Cada línea de código puede ser una instrucción y a la vez juntas conformar un bloque. Pero estas ordenes deben respetar una jerarquia y una serie de normas para que puedan ser comprendidas al momento de ser ejecutadas. De lo contrario, obtendremos algún error.
Sintaxis en los lenguajes de programación
Con sintaxis nos referimos como en todo lenguaje al correcto uso y orden de las palabras que utilizamos para comunicarnos, en Python es igual, es necesario cumplir ciertos requisitos a la hora de expresarnos para evitar errores de comprensión del intérprete, primeramente deberás aprender ciertas palabras en inglés, su significado y el uso adecuado dentro del lenguaje.
A lo largo de todo el recorrido de aprendizaje estarás aprendiendo la sintaxis, es decir, que no es cosa de una sola lección, cada expresión en particular tiene su forma correcta de escribirla y juntas conforman un bloque de código.
✅ La sintaxis en python es el correcto orden y uso de las palabras para indicar una instrucción al intérprete.
❌ No es la ausencia de Taxis. 😮💨
Y a propósito, en esta lección te voy a sumergir al código directamente. ¡Le vamos a dar un baile a esa cabezota de entrada!
Para ejemplificar esto supongamos que Pepe se quiere comunicar con Juan y enviarle el siguiente mensaje: «Hola Juan, alcánzame la cuchara», si Pepe no respeta la sintaxis (en este caso el correcto orden de las palabras) y envía un mensaje desordenado como este «Juan, hola cuchara la alcánzame». Juan no comprenderá nada,y seguramente mire algo raro a Pepe, pero comprenderá que se equivocó en el orden de las palabras, entonces Juan sabrá que Pepe comete un error de sintaxis y está enviando un mensaje que aunque es comprensible es erróneo.
Esto es un mensaje en nuestro idioma basado en una oración que está estructurada:
Saludo + Nombre + Acción + Objeto
Hola Juan, alcanzame la cuchara.

Si analizamos este código veremos dos maneras de hacer lo mismo, aunque ambas funcionan la segunda aplica las recomendaciones sugeridas por el lenguaje. Obviamente no se genera ningún error, pero si como programadores comprendemos la importancia de respetar la sintaxis y obviamente conocerla y sus buenas prácticas nos facilitará mucho el trabajo. Analicemos este código:
# -*- coding: utf-8 -*- # Ejemplo de sintaxis: Pythones.net💻 # Variables definidas con minúsculas + guiones bajos -> Sintaxis correcta saludo = "Hola" # VARIABLE Tipo: cadena de texto (string) nombre = "Juan" # VARIABLE Tipo: cadena de texto (string) ¡Nombres en minúsculas siempre! accion = "alcanzame" # VARIABLE Tipo: cadena de texto (string) Acción a ejecutar objeto = "cuchara" # VARIABLE Tipo: cadena de texto (string) Objeto involucrado #IMPRIMIR EN PANTALLA USAMOS "PRINT": # ❌ Forma ERRÓNEA (¡genera un mensaje caótico!) print(saludo + nombre + accion + "la" + objeto) # ✅ Forma CORRECTA con f-strings (¡sintaxis moderna y legible!) print(f"{saludo} {nombre}, {accion} la {objeto}.")
Resultado:
❌ HolaJuanalcanzamelacuchara
✅ Hola Juan, alcanzame la cuchara
Procura leer y comprender el código, no te pongas a copiar, pegar y ejecutar como loco.
Este bloque de código esta conformado por VARIABLES que almacenan TEXTO entre COMILLAS y luego se IMPRIMEN usando la FUNCIÓN PRINT (Imprimir en pantalla). En la siguiente lección vamos a profundizar.
🔡Durante el transcurso de los post iré aclarando en cada bloque de código detalles importantes a destacar acerca de la sintáxis.
Vamos a crear un cuaderno Jupyter para prácticar sintaxis y comenzar la primer lección.
Crear tu primer cuaderno Jupyter Notebook “Sintaxis en Python”
Vamos a comenzar a utilizar Jupyter Notebook para aprender programación en Python. Este cuaderno nos permitirá escribir código, ejecutarlo y además escribir notas sobre el código con lenguaje de Hipertexto, lo que quiere decir que puedes resaltar información y ordenarla para tenerla almacenada en caso que necesites hacer un “repaso” de tu código previo.
¿Por qué no lo hacemos a la vieja manera de utilizar un ide y guardar los archivos como “.py” y ejecutarlos?
¡Porque si aprendes a programar utilizando un cuaderno Jupyter y tomando notas luego podrás repasar sobre tu propio aprendizaje!. Además de otros beneficios como poder ejecutar el código por bloques y no necesitar crear un archivo para cada vez que vas a realizar una prueba. ¡Jupyter será nuestro laboratorio de pruebas y aprendizaje! 🔬
Venga, abrir Jupyter Notebook y crear una carpeta en alguna parte de tu sistema, luego dentro de ella crea un cuaderno y nombraló “1-Sintaxis en Python“. Al abrirlo en mi caso me encuentro lo siguiente:

Una vez seleccionado el instalado el interprete en el entorno de Jupyter podremos comenzar a trabajar.
Seguidamente vas a crear una carpeta en algun lugar de tu sistema (puede ser en el escritorio) con el nombre que desees para guardar tus cuadernos de práctica.
En mi caso la llame “NOTEBOOK” pero tu puedes ponerle el nombre que quieras. Finalmente vas a navegar a dicha carpeta en Jupyter y vas a crear un nuevo cuaderno y lo llamarás “1-Sintaxis en Python”:
- En la columna derecha verás los archivos y en la columna izquierda el archivo que tienes abierto.
- Dentro de este encontrarás que hay como una especie de “celda” o “bloque” dentro de estos bloques podemos escribir y ejecutar código donde se nos entregará la salida en la celda siguiente. Para ejecutar el código o bloque de código cuando termines de escribir presiona “Shift + Enter”
- Como verás también arriba en el centro tienes un menu de selección donde puedes cambiar “Code” por “Markdown“. Esto te permitirá intercalar “celdas” con Código y otras con HTML o Texto explicativo.
Vamos a comenzar a jugar con Jupyter para explicarte sintaxis, copia y pega el código que usamos de ejemplo anteriormente en la primer celda y presiona las teclas “Shift + Enter” para que puedas observar la salida:
# -*- coding: utf-8 -*- # Ejemplo de sintaxis: Pythones.net💻 # Variables definidas con minúsculas + guiones bajos -> Sintaxis correcta saludo = "Hola" # VARIABLE Tipo: cadena de texto (string) nombre = "Juan" # VARIABLE Tipo: cadena de texto (string) ¡Nombres en minúsculas siempre! accion = "alcanzame" # VARIABLE Tipo: cadena de texto (string) Acción a ejecutar objeto = "cuchara" # VARIABLE Tipo: cadena de texto (string) Objeto involucrado #IMPRIMIR EN PANTALLA USAMOS "PRINT": # ❌ Forma ERRÓNEA (¡genera un mensaje caótico!) print(saludo + nombre + accion + "la" + objeto) # ✅ Forma CORRECTA con f-strings (¡sintaxis moderna y legible!) print(f"{saludo} {nombre}, {accion} la {objeto}.")
Verás algo así:
Claro que aquí no hay un error de sintaxis, ya que ambos prints funcionan correctamente, pero si hay una “Mala Práctica de Codificación” otra cosa que debes evitar y no confundir con error de sintaxis.
Jupyter Notebook va a ser a partir de ahora tu principal herramienta para aprender a programar. A partir de los post que vayas leyendo puedes copiar el código, ejecutar pruebas en distintas celdas si lo necesitas e incluso crear debajo de estas celdas con código otras celdas explicativas con tus palabras o simplemente copiar partes del blog. Al final de cada lección encontrarás los cuadernos para descargar con la versión resumida y todo el código contenido en ella. ¡¡Enhorabuena!! Si eres tan curioso como yo verás que a medida que avances esto se pondrá seriamente adictivo 😵🌀
¿Qué es un Sintax Error en Python y como resolverlo?
En Python si cometemos un error de este tipo nos mostrará un mensaje que dice: Sintax Error (veamos esto en Jupyter):
⁉️ El error es el mejor amigo del programador: Línea 7: name “saludos” is not defined.
Prueba ejecutar el siguiente código en tu cuaderno:
# -*- coding: utf-8 -*- saludo = "Hola" # VARIABLE Tipo: cadena de texto (string) nombre = "Juan" # VARIABLE Tipo: cadena de texto (string) ¡Nombres en minúsculas siempre! accion = "alcanzame" # VARIABLE Tipo: cadena de texto (string) Acción a ejecutar objeto = "cuchara" # VARIABLE Tipo: cadena de texto (string) Objeto involucrado print(saludos) #Imprimir la variable inexistente llamada "saludos"
Recuerda: La primera línea de código indica la codificación que debe tener en cuenta el interprete, y es buena práctica colocarla. Más adelante hablaremos de ello.
No debemos temer a estos errores, por el contrario debemos tratar de entender el error para poder corregirlo. En este caso el interprete nos lanza un error de que no existe el objeto “saludos“, obviamente como verás es porque lo hemos colocado en plural y la variable ha sido definida en singular por lo que el objeto a imprimir no se encuentra.
Encima, el interprete además de marcarnos el error nos dice en que línea de código está. ¿Acaso no es genial programar en python?.
Pero si yo decidiera crear la variable “saludos” debería hacerlo siempre antes de intentar imprimirla, o llamarla.
Debido a que python tiene un flujo de ejecucción descendente que debemos respetar.
Recuerdas que cada línea de código en python es una instrucción y que cada instrucción (orden) puede conformar parte de otra o juntas conformar un bloque de código.
Por lo que siempre que llamamos a un objeto debemos haberlo creado antes.
🔥 3 errores de sintaxis que te harán sudar (¡y cómo evitarlos!):
Copia y pega los siguientes bloques de código y si te animas crea una nueva celda sobre cada uno de ellos y elige en el menu desplegable superior “MarkDown” para escribir en HTML y empezar a crear tu cuaderno:
🚨 SyntaxError: ¡El error más famoso!
Sigue las reglas usa paréntesis y comillas dobles cuando se trata de una función y de string:
# ❌ Error: ¡Falta el ()! print "Hola" # SyntaxError: missing parentheses # ✅ Correcto: print("Hola") # ¡Así se hace!
👻 NameError: Variables “fantasma”
¡No invoques variables que no existen!. Debes crearlas primero, recuerda el flujo de ejecucción es descendente, osea de arriba a abajo.
# ❌ Error: Variable no definida print(hola) # NameError: name 'hola' is not defined # ✅ Correcto: hola = "Hola" print(hola) # ¡Primero crea la variable!
🛑 IndentationError: ¡Espacios rebeldes!
Python odia el código desordenado debes especificar la identación que determinar en flujo de ejecucción por niveles de jerarquía:
# ❌ Error: ¡No indentaste! if 5 > 3: print("Mayor") # IndentationError: expected an indented block # ✅ Correcto: if 5 > 3: print("Mayor") # 4 espacios = orden perfecto
Casi siempre que te encuentres con algún error de sintaxis será probablemente alguno de estos tres que te he mencionado.
Cada error es una pista para mejorar. Y aprender de ellos es el camino para aprender a programar mejor.
¿Qué es una instrucción en python?
Una instrucción es un conjunto de datos insertados en una secuencia estructurada para ordenar al intérprete realizar una operación determinada.
Si te gustan Los Simpson seguramente habrás visto el capitulo donde Homero le ordena a su computador matar a Flanders! Homero envió una instrucción a su computador pero con la sintaxis incorrecta! Sintax Error!
¡Me encanta este ejemplo para recordar que es una instrucción! 😆
A lo largo de cada lección aprenderemos instrucciones diferentes y la correcta sintaxis de cada una, por ejemplo al declarar una variable (instrucción) se debe hacer de «cierta» forma y no puede ser de otra, al declarar una función (instrucción) se debe hacer de «tal forma» y no de otra. Creo hasta aquí queda claro el lenguaje nos exige seguir y respetar una serie de reglas para su correcta ejecucción.
Es importante aprender a reconocer un error de sintaxis, muchas personas cuando comienzan a programar se frustran cuando no descubren el error, y es simplemente leer lo que nos devuelve el interprete para encontrarlo. Incluso una carácteristica que adoro de python es lo fácil que es encontrar y corregir un error.
Tipos de instrucciones
Existen dos tipos de instrucciones en python:
Instrucciones simples
Son aquellas órdenes que python comprende respetando su sintaxis que comienzan y culminan en una sola línea.
#Instrucciones simples Ejemplo: b = 12 #Instrucción 1 c = (2 + 2 + 8) #Instrucción 2 a = 'Hola' #Instrucción 3 print (a) #Instrucción 4
Instrucciones compuestas
Son aquellas que python comprende respetando su sintaxis comenzando con una cláusula de sentencia compuesta y terminando con «:» continúan debajo con una identación conformando así un bloque de código.
#Instrucciones compuestas Ejemplo: if b == c: #Instrucción compuesta print (a) #Contiene instrucción simple
Ejemplo de instrucciones simples y compuestas:
#Ejemplo instrucciones simples: a = "Hola" #Instrucción simple declara variable y contenido b = "Hola" #Instrucción simple declara variable y contenido #Ejemplo instrucciones compuestas (conforman un bloque debido al identado): if a == b: #Instrucción compuesta CONDICIONAL -> Condición print(f"{a} y {b} son iguales.") #Instrucción simple dentro de una compuesta else: #Instrucción compuesta print(f"{a} y {b} son distintos.") #Instrucción simple dentro de una compuesta
Las instrucciones compuestas en Python ocupan más de una linea como puedes ver, pero el interprete necesita seguir un orden de ejecución (el orden en que se va a ejecutar cada línea de código de tu programa, normalmente estructurado de arriba a abajo.)
Este orden de ejecución esta determinado en un principio obviamente comenzando por la primera linea de código, la cual en el ejemplo anterior se trata de un comentario (#) por lo que será ignorada de la ejecución pero en este caso le da información al programador.
En la primera y segunda línea tenemos una instrucción simple que es la declaración de variables del tipo texto (string – str). Normalmente sabemos que se trata de una instrucción simple porque se ejecuta en una sola línea independiente del resto del código.
Pero luego al llegar a la séptima línea se encuentra con una instrucción compuesta que sirve para comparar en este caso si a == b, a partir de allí, si esta condición se cumple y efectivamente a == b deberá descender a través del identado a la línea que vemos como siguiente print(f).
Pero si esta condición no se cumple, se saltará esa linea y continuará a partir del ELSE hasta terminar.
Y esto sucede gracias al identado, sin el identado la linea que esta dentro de la condición o el bloque de código if a==b. Se ejecutaría de todas maneras, y así ¿que sentido tendría nuestro programa?. No sería capaz de detectar si se cumple la condición o no.
Así las instrucciones pueden ir cambiando el flujo de ejecución y volver hacia arriba o saltar directamente hacia abajo por ejemplo al llamar una función, etc. Lo que permitirá que nuestro programa actúe como nosotros esperamos.
El identado en Python
El identado en Python resulta crucial para definir donde comienza un bloque y termina otro, ya que en Python como habrás leído no existen carácteres de cierre como en otros lenguajes, aquí no utilizamos ni llaves {}, ni el tan histérico punto y coma. En python todo esto lo define el identado en estructuras o bloques y por supuesto los paréntesis dentro de cada instrucción simple.
Para identar una línea basta con pulsar la tecla «Tabulador» o «tab» en algún IDE. También hay quienes hacen 4 espacios.. Ya que una «Tabulación» corresponde a 4 espacios en blanco.
Por ende podemos definir la identación en Python y solo en Python en este caso como una práctica que se utiliza para delimitar la estructura del programa estableciendo bloques de código.
Voy a presentarte esta idea ahora de dos maneras, muy similares pero intentaré explicar todo lo aprendido hasta ahora.
🤖 Ejemplo Práctico 1: RoboTareas – Sintaxis y condicionales
Imagina a RoboTareas, un robot que organiza tu día, este robot se basa en el dato de dos variables Booleanas, es decir que almacenan un valor verdadero (True) o falso (False) (binario):
- Si
estado = True
→ ¡Celebra con un baile! 💃 - Si
estado = False
→ Envía un recordatorio 📅
# Variables (como sensores del robot) nombre = "RoboTareas" tarea = "Estudiar la sintaxis Python" estado = "pendiente" # Cambia a "completada" para ver magia # Instrucciones simples print(f"{nombre}: Revisando {tarea}...") # Instrucciones compuestas (¡Lógica robotizada! 🤖) if estado == "completada": print(f"¡{tarea} finalizada!") # Bloque 1 if nombre == "RoboTareas": print(f"¡Felicidades! ¡Desbloqueaste ejercicios avanzados!") # Bloque 2 else: print(f"{nombre}: {tarea} está {estado}. ¡No te rindas!") # Flujo alternativo
Resultado:
RoboTareas: Revisando Estudiar la sintaxis Python... RoboTareas: Estudiar la sintaxis Python está pendiente. ¡No te rindas!
¿Por qué es clave la indentación?
Si quitamos la indentación, RoboTareas haría cosas raras como celebrar y enviar recordatorios al mismo tiempo. ¡Un jodido caos! 🚨
¿Qué es un bloque de código?
Un conjunto de instrucciones que se ejecutan solo si se cumple una condición.
Ejemplo:
if estado == "completada":
→ Todo el código indentado bajo esto es un bloque.
🤖 Ejemplo Práctico 2: Aprende Indentación con RoboChef
Imagina a RoboChef, un robot que cocina según condiciones:
# -*- coding: utf-8 -*- # Variables del robot (ingredientes) tiene_harina = False # Cambia esto a True para ver resultados mensaje = "¡Pastel listo!" # Flujo de cocina, digo ejecución.. if tiene_harina: # ¿Hay harina? print("RoboChef: Mezclando ingredientes...") # Bloque 1 print(mensaje) # Bloque 1 else: print("RoboChef: ¡No hay harina! 🙀") # Bloque alternativo print("Fin del programa") # Instrucción simple
Resultados:
RoboChef: ¡No hay harina! 🙀 Fin del programa
🔍 ¿Qué ocurre aquí?
- Si
tiene_harina = True
→ Se ejecutan las líneas indentadas (Bloque 1) - Si
tiene_harina = False
→ Se ejecuta el bloqueelse
- El último
print
siempre se ejecuta: ¡No está indentado!
🔥 Error de Indentación Clásico
# ❌ Código con error (¡No indentado!) if tiene_harina: print("Mezclando...") # ¡IndentationError! # ✅ Código correcto: if tiene_harina: print("Mezclando...") # ¡Indentación perfecta!
💡 Lecciones Clave:
- Indentación = Lógica: Define qué instrucciones pertenecen a cada condición
- Instrucciones simples: Una línea, sin
:
ni indentación - Instrucciones compuestas: Usan
:
y bloques indentados
Cambia
tiene_harina = False
a True
y observa el resultado.🐍 Resumen final
1. ¿Qué es la sintaxis?
Son las reglas gramaticales de Python que definen cómo escribir código correctamente.
Como cuando Homer Simpson intenta programar:
print "Mucho apoyo a Flanders"
→ ¡SyntaxError! 🚨
2. Importancia de la sintaxis
- ✅ Evita errores catastróficos → Un
:
faltante rompe tu código - ✅ Mejora la legibilidad → Código ordenado = fácil de entender
- ✅ Controla el flujo de ejecución → Indica qué se ejecuta y cuándo
3. Reglas Clave de Sintaxis a respetar en Python
4 espacios por nivel (¡nunca uses tabuladores!)
if True: print("Indentación correcta") # ✅
– Simples: Una línea, sin
:
(ej: a = "Python"
)– Compuestas: Terminan en
:
y crean bloques (ej: if x == 5:
)Python ejecuta líneas de arriba a abajo.
Los bloques anidados deben respetar la indentación:
if condicion1: print("Bloque 1") if condicion2: print("Bloque 2") # ¡Indentación doble!
🔥 Los 3 errores clásicos de sintaxis en python:
🚨 SyntaxError
Causa: Falta ()
, :
o comillas.
# ❌ Error: print "Hola" # ✅ Correcto: print("Hola")
👻 NameError
Causa: Variables no definidas.
# ❌ Error: print(saludo) # ✅ Correcto: saludo = "Hola" print(saludo)
🛑 IndentationError
Causa: Espacios inconsistentes.
# ❌ Error: if 5 > 3: print("Mayor") # ✅ Correcto: if 5 > 3: print("Mayor")
📝 Checklist de Supervivencia
- ✅ Usa
# -*- coding: utf-8 -*-
al inicio para decirle al in - ✅ 4 espacios para indentar (configura tu IDE)
- ✅ Termina instrucciones compuestas con
:
(ej:if
,for
)
Si aún resulta de dificultad sigue avanzando, es una dificultad que se quita practicando y analizando mucho código a lo largo del tiempo.
Pues, no hay más que hacerle, nos vemos en la siguiente entrada donde veremos funciones y volveremos a tratar este tema de la sintaxis de una función. Si no lo has comprendido lo vas a terminar de entender en el siguiente post!. Allí nos vemos..