Introducción

Aprender la sintaxis de un lenguaje de programación tiene varias similitudes con aprender un idioma.

Cuando comenzamos a estudiar una lengua, primero conocemos algunas palabras y reglas básicas. Después observamos cómo se combinan para construir oraciones que otras personas puedan comprender.

En programación sucede algo parecido. Para comunicarnos con una computadora debemos aprender a organizar palabras, símbolos y valores de una manera que el lenguaje de programación pueda interpretar.

En Python, el conjunto de reglas que determina cómo se escribe el código recibe el nombre de sintaxis.

¿Qué es la sintaxis de Python?

La sintaxis establece la forma correcta de escribir las instrucciones de un programa.

Por ejemplo, podemos utilizar la función print() para mostrar un mensaje:

print("Hola, Python")

En esta instrucción:

  • print es el nombre de una función.
  • Los paréntesis contienen la información que queremos mostrar.
  • Las comillas indican que Hola, Python es un texto.

Si escribimos la instrucción de manera incorrecta, Python no podrá interpretarla:

print("Hola, Python"

En este caso falta cerrar el paréntesis. Al ejecutar el código, Python mostrará un error de sintaxis.

La sintaxis nos indica cómo escribir el código. La semántica, en cambio, corresponde al significado y resultado de ese código.

La práctica es parte del aprendizaje

La programación no se aprende únicamente leyendo conceptos. También es necesario escribir código, ejecutarlo, cometer errores y corregirlo.

Podemos compararlo con entrenar en un gimnasio. La fuerza no se desarrolla con una única sesión, sino mediante la práctica constante y progresiva.

Lo mismo ocurre al programar:

  1. Escribes una pequeña instrucción.
  2. Ejecutas el código.
  3. Observas el resultado.
  4. Identificas posibles errores.
  5. Modificas el programa.
  6. Vuelves a ejecutarlo.

Los ejercicios iniciales pueden parecer sencillos, pero permiten desarrollar habilidades que posteriormente serán necesarias para resolver problemas más complejos.

Elementos básicos de la sintaxis de Python

Al igual que un idioma utiliza sustantivos, verbos y conectores, Python dispone de diferentes elementos para construir instrucciones.

Entre los más importantes se encuentran:

  • Variables.
  • Palabras reservadas.
  • Operadores.
  • Expresiones.
  • Funciones.
  • Condicionales.

A continuación, revisaremos cada uno mediante ejemplos sencillos.

Variables

Una variable permite almacenar un dato para utilizarlo posteriormente.

nombre = "Paula"
edad = 28

En este ejemplo:

  • nombre almacena el texto "Paula".
  • edad almacena el número 28.
  • El símbolo = asigna un valor a una variable.

Podemos mostrar estos valores mediante print():

nombre = "Paula"
edad = 28

print(nombre)
print(edad)

También podemos incorporarlos dentro de un mensaje utilizando una cadena formateada o *f-string*:

nombre = "Paula"
edad = 28

print(f"{nombre} tiene {edad} años.")

El resultado será:

Paula tiene 28 años.
Imagen sugerida: captura del código y su resultado en una terminal o en Visual Studio Code.

Palabras reservadas de Python

Las palabras reservadas, también llamadas *keywords*, tienen un significado especial dentro del lenguaje.

Algunos ejemplos son:

if
else
elif
for
while
in
not
or
def
return

Estas palabras forman parte de la sintaxis de Python y no deberían utilizarse como nombres de variables.

Por ejemplo, el siguiente código es incorrecto:

for = 10

for está reservado para crear ciclos o repeticiones. Por esa razón, Python mostrará un error si intentamos utilizarlo como una variable.

Un nombre válido sería:

cantidad = 10

Operadores

Los operadores son símbolos que permiten realizar operaciones con valores y variables.

### Operadores aritméticos

OperadorOperaciónEjemplo
`+`Suma`8 + 2`
`-`Resta`8 - 2`
`*`Multiplicación`8 * 2`
`/`División`8 / 2`
`**`Potencia`8 ** 2`
`%`Resto de una división`8 % 3`
`//`División entera`8 // 3`

Podemos probarlos directamente:

print(8 + 2)
print(8 - 2)
print(8 * 2)
print(8 / 2)

### Operadores de comparación

Los operadores de comparación permiten comparar dos valores.

OperadorSignificado
`>`Mayor que
`<`Menor que
`>=`Mayor o igual que
`<=`Menor o igual que
`==`Igual a
`!=`Diferente de

Por ejemplo:

edad = 20

print(edad >= 18)

El resultado será:

True

Python responde True porque 20 es mayor o igual que 18.

Es importante distinguir entre los operadores = y ==:

edad = 20

Un solo signo = asigna un valor.

edad == 20

Dos signos == comparan dos valores.

Expresiones

Una expresión es una combinación de valores, variables y operadores que Python evalúa para obtener un resultado.

precio = 12000
cantidad = 3

total = precio * cantidad

La expresión precio * cantidad produce el valor 36000, que se almacena en la variable total.

Podemos mostrarlo de la siguiente manera:

precio = 12000
cantidad = 3

total = precio * cantidad

print(f"El total de la compra es ${total}.")

También podemos construir expresiones más completas:

precio = 12000
cantidad = 3
descuento = 5000

total = precio * cantidad - descuento

print(f"Total con descuento: ${total}")

Funciones

Una función es un bloque de código creado para realizar una tarea específica.

Python incluye funciones incorporadas, como:

print()
input()
type()
len()

También podemos crear nuestras propias funciones utilizando la palabra reservada def.

### Ejemplo: calcular el total de una compra

def calcular_total(precio, cantidad):
    return precio * cantidad

La función recibe dos valores:

  • El precio de un producto.
  • La cantidad que se desea comprar.

Después multiplica ambos valores y devuelve el resultado mediante return.

Podemos utilizarla así:

def calcular_total(precio, cantidad):
    return precio * cantidad


total = calcular_total(4990, 3)

print(f"El total de la compra es ${total}.")

El resultado será:

El total de la compra es $14970.

Este ejemplo permite observar claramente qué datos recibe una función y qué resultado devuelve.

Condicionales

Los condicionales permiten que un programa tome decisiones.

Python utiliza principalmente las palabras:

  • if: comprueba una primera condición.
  • elif: comprueba una condición adicional.
  • else: se ejecuta cuando las anteriores no se cumplen.

### Ejemplo: comprobar disponibilidad de un producto

stock = 4

if stock > 0:
    print("El producto está disponible.")
elif stock == 0:
    print("El producto se encuentra agotado.")
else:
    print("El valor del stock no es válido.")

Como stock contiene el número 4, el programa mostrará:

El producto está disponible.

Podemos modificar su valor para comprobar los demás resultados:

stock = 0

En ese caso, se mostrará:

El producto se encuentra agotado.

### La indentación es importante

En Python, los espacios iniciales determinan qué instrucciones pertenecen a cada bloque.

Este código está correctamente indentado:

edad = 20

if edad >= 18:
    print("La persona es mayor de edad.")

El siguiente código es incorrecto:

edad = 20

if edad >= 18:
print("La persona es mayor de edad.")

La instrucción print() debería estar desplazada hacia la derecha. Python utiliza normalmente cuatro espacios para representar cada nivel de indentación.

Imagen sugerida: comparación visual entre un bloque correctamente indentado y otro con un error.

Errores de sintaxis

Python muestra un error de sintaxis cuando encuentra una instrucción que no cumple las reglas del lenguaje.

Por ejemplo:

print(Este código producirá un error)

El texto no está entre comillas. Python intentará interpretar cada palabra como parte del código y no como un mensaje.

La versión correcta es:

print("Este código funciona correctamente")

Otro error frecuente es olvidar cerrar las comillas:

print("Bienvenido a Python)

La versión correcta es:

print("Bienvenido a Python")

Los errores no son una señal de fracaso. Son mensajes que entregan información sobre aquello que debemos revisar.

Incluso los desarrolladores experimentados encuentran errores de sintaxis, lógica o ejecución. La diferencia se encuentra en aprender a interpretar esos mensajes y seguir un proceso ordenado para corregirlos.

Reglas para nombrar variables y funciones

Los nombres utilizados en Python deben cumplir ciertas reglas.

### No pueden contener espacios

Esto es incorrecto:

nombre usuario = "Paula"

Podemos utilizar un guion bajo:

nombre_usuario = "Paula"

### No pueden comenzar con un número

Esto es incorrecto:

2usuarios = 10

Una alternativa válida es:

usuarios_2 = 10

### Pueden contener letras, números y guiones bajos

producto_1 = "Teclado"
precio_producto = 24990

### Python distingue entre mayúsculas y minúsculas

Estas variables son diferentes:

nombre = "Paula"
Nombre = "Carlos"

Aunque ambas son válidas, mezclar mayúsculas y minúsculas de esa manera puede provocar confusión.

Utiliza nombres descriptivos

Un nombre debería comunicar claramente qué representa una variable o qué tarea realiza una función.

Este código funciona, pero es difícil de interpretar:

p = 15000
c = 4
t = p * c

Una versión más clara sería:

precio_unitario = 15000
cantidad_productos = 4
total_compra = precio_unitario * cantidad_productos

Los nombres descriptivos ayudan a:

  • Comprender el código con mayor rapidez.
  • Reducir errores.
  • Facilitar el trabajo en equipo.
  • Retomar un proyecto después de un tiempo.
  • Mantener y modificar el programa.

La convención snake_case

Python recomienda escribir los nombres de variables y funciones utilizando la convención snake_case.

En esta convención:

  • Se utilizan letras minúsculas.
  • Las palabras se separan mediante guiones bajos.

Ejemplos:

nombre_completo = "Paula Martínez"
precio_final = 19990
cantidad_disponible = 8

También se utiliza en funciones:

def calcular_precio_final():
    pass

La guía de estilo PEP 8 recomienda este formato para los nombres de variables y funciones.

Primer ejercicio práctico

Crea un programa que determine si una persona puede acceder a un curso según su edad.

El programa debe:

  1. Solicitar el nombre.
  2. Solicitar la edad.
  3. Comprobar si la edad es igual o superior a 16.
  4. Mostrar un mensaje personalizado.

Puedes comenzar con este código:

nombre = input("Ingresa tu nombre: ")
edad = int(input("Ingresa tu edad: "))

if edad >= 16:
    print(f"{nombre}, puedes inscribirte en el curso.")
else:
    print(f"{nombre}, todavía no cumples la edad mínima.")

Prueba el programa utilizando diferentes edades y observa cómo cambia el resultado.

### Desafío adicional

Agrega una condición especial para indicar que el dato no es válido cuando la edad sea negativa:

nombre = input("Ingresa tu nombre: ")
edad = int(input("Ingresa tu edad: "))

if edad < 0:
    print("La edad ingresada no es válida.")
elif edad >= 16:
    print(f"{nombre}, puedes inscribirte en el curso.")
else:
    print(f"{nombre}, todavía no cumples la edad mínima.")

Buenas prácticas iniciales

Al escribir tus primeros programas:

  • Utiliza nombres descriptivos.
  • Respeta la indentación.
  • Escribe las cadenas de texto entre comillas.
  • No utilices palabras reservadas como variables.
  • Prueba el código después de cada modificación.
  • Lee completamente los mensajes de error.
  • Practica modificando los ejemplos.
  • Evita copiar código sin comprender qué hace.

La mejor manera de familiarizarse con la sintaxis es observar código, escribirlo y experimentar con sus valores.

Conclusión

La sintaxis es el conjunto de reglas que permite construir instrucciones que Python pueda interpretar.

En este tutorial conocimos:

  • Variables para almacenar datos.
  • Palabras reservadas con funciones especiales.
  • Operadores para realizar cálculos y comparaciones.
  • Expresiones que producen resultados.
  • Funciones que agrupan instrucciones reutilizables.
  • Condicionales que permiten tomar decisiones.
  • Reglas para nombrar variables y funciones.
  • Errores de sintaxis y cómo comenzar a interpretarlos.

Comprender estos elementos permitirá avanzar hacia el siguiente tema: los tipos de datos de Python y la forma correcta de trabajar con texto y números.