Reglas de Sintaxis de Python
La sintaxis son las “reglas de gramática” de Python. Así como el español tiene reglas sobre cómo formar oraciones, Python tiene reglas sobre cómo escribir código. ¡La buena noticia es que Python tiene menos reglas que el español!
La regla más importante: Indentación
¿Qué es la indentación?
La indentación son los espacios al inicio de una línea. En Python, estos espacios no son opcionales - son parte del código.
# Sin indentación (nivel 0)
print("Esta línea no tiene indentación")
# Con indentación (nivel 1)
if True:
print("Esta línea tiene 4 espacios de indentación")
# Con más indentación (nivel 2)
if True:
print("Esta línea tiene 8 espacios de indentación")
¿Por qué es importante?
Python usa la indentación para saber qué código va junto:
# Ejemplo: código que va junto
if edad >= 18:
print("Eres mayor de edad") # Estas dos líneas
print("Puedes obtener tu licencia") # van juntas
print("Este mensaje siempre se muestra") # Esta línea es independiente
Reglas de indentación:
- Usa siempre la misma cantidad de espacios
# ✅ CORRECTO - siempre 4 espacios
if True:
print("Línea 1")
print("Línea 2")
# ❌ INCORRECTO - mezcla 4 y 2 espacios
if True:
print("Línea 1") # 4 espacios
print("Línea 2") # 2 espacios - ¡Error!
- La recomendación oficial es 4 espacios
# ✅ Recomendado
if True:
print("Usando 4 espacios")
# ✅ Funciona, pero no es recomendado
if True:
print("Usando 2 espacios")
- No mezcles espacios y tabs
# ❌ NUNCA hagas esto
if True:
print("Esta línea usa espacios")
print("Esta línea usa tab") # ¡Error!
Sensibilidad a mayúsculas y minúsculas
Python distingue entre mayúsculas y minúsculas en todo:
Variables:
nombre = "Juan"
Nombre = "María"
NOMBRE = "Pedro"
print(nombre) # Juan
print(Nombre) # María
print(NOMBRE) # Pedro
Funciones:
print("Hola") # ✅ Correcto
Print("Hola") # ❌ Error: Print no existe
PRINT("Hola") # ❌ Error: PRINT no existe
Palabras clave:
if True: # ✅ Correcto
print("Sí")
If True: # ❌ Error: If no es una palabra clave
print("No")
Estructura de líneas
Una instrucción por línea (recomendado):
# ✅ Fácil de leer
print("Primera línea")
print("Segunda línea")
print("Tercera línea")
Múltiples instrucciones en una línea (evítalo):
# ❌ Funciona, pero es difícil de leer
print("Línea 1"); print("Línea 2"); print("Línea 3")
Líneas muy largas (cómo dividirlas):
# ❌ Línea muy larga
mensaje_muy_largo = "Este es un mensaje extremadamente largo que es difícil de leer porque no cabe bien en la pantalla"
# ✅ Dividir con paréntesis
mensaje_muy_largo = ("Este es un mensaje extremadamente largo "
"que ahora es más fácil de leer "
"porque está dividido en varias líneas")
# ✅ Dividir con barra invertida
mensaje_muy_largo = "Este es un mensaje extremadamente largo " \
"que también es fácil de leer"
Espacios en blanco
Espacios alrededor de operadores:
# ✅ Fácil de leer
resultado = a + b * c
nombre = "Juan"
# ❌ Funciona, pero es difícil de leer
resultado=a+b*c
nombre="Juan"
Espacios después de comas:
# ✅ Correcto
print("Hola", "mundo", "desde", "Python")
# ❌ Funciona, pero es menos legible
print("Hola","mundo","desde","Python")
NO uses espacios innecesarios:
# ✅ Correcto
print("Hola")
lista[0]
# ❌ Espacios innecesarios
print ( "Hola" )
lista [ 0 ]
Nombres válidos en Python
Reglas para nombres de variables y funciones:
- Deben empezar con letra o guión bajo
# ✅ Válidos
nombre = "Juan"
_edad = 25
mi_variable = 100
# ❌ Inválidos
2nombre = "Juan" # No puede empezar con número
mi-variable = 100 # No puede tener guiones
- Solo pueden contener letras, números y guiones bajos
# ✅ Válidos
nombre1 = "Juan"
mi_edad = 25
variable_muy_larga = 100
# ❌ Inválidos
mi@variable = 100 # No puede tener @
mi variable = 100 # No puede tener espacios
mi-variable = 100 # No puede tener guiones
- No pueden ser palabras reservadas
# ❌ Estas palabras están reservadas
if = 5 # Error: 'if' es palabra reservada
for = 10 # Error: 'for' es palabra reservada
def = 20 # Error: 'def' es palabra reservada
Convenciones de nombres (no son reglas, pero es buena práctica):
# ✅ Variables y funciones: snake_case (minúsculas con guiones bajos)
mi_nombre = "Juan"
edad_usuario = 25
# ✅ Constantes: MAYÚSCULAS
PI = 3.14159
VELOCIDAD_LUZ = 299792458
# ✅ Clases: PascalCase (lo veremos más adelante)
MiClase = "ejemplo"
Caracteres especiales
Comillas para texto:
# Todas estas formas son válidas
nombre1 = "Juan"
nombre2 = 'María'
mensaje = """Este es un mensaje
que ocupa varias líneas"""
Paréntesis para funciones:
print("Hola") # Los paréntesis son obligatorios
len("Python") # Incluso si no hay argumentos: len()
Dos puntos para bloques de código:
# Los dos puntos son obligatorios antes de un bloque indentado
if edad >= 18: # ← Dos puntos aquí
print("Mayor de edad")
Ejercicio práctico: Detector de errores de sintaxis
Aquí tienes varios ejemplos con errores. ¿Puedes encontrarlos?
# Ejemplo 1
if True
print("Hola")
# Ejemplo 2
if True:
print("Hola")
# Ejemplo 3
Print("Hola mundo")
# Ejemplo 4
mi-nombre = "Juan"
# Ejemplo 5
if True:
print("Línea 1")
print("Línea 2")
Soluciones:
# Ejemplo 1 - Faltan los dos puntos
if True:
print("Hola")
# Ejemplo 2 - Falta indentación
if True:
print("Hola")
# Ejemplo 3 - print va en minúsculas
print("Hola mundo")
# Ejemplo 4 - No se pueden usar guiones en nombres
mi_nombre = "Juan"
# Ejemplo 5 - Indentación inconsistente
if True:
print("Línea 1")
print("Línea 2")
Consejos para evitar errores de sintaxis
1. Configura tu editor correctamente
- Haz que muestre espacios y tabs
- Configura indentación automática de 4 espacios
- Activa el resaltado de sintaxis
2. Lee los mensajes de error
Python te dice exactamente dónde está el problema:
File "mi_programa.py", line 3
print("Hola")
^
IndentationError: expected an indented block
3. Usa un estilo consistente
- Siempre 4 espacios para indentar
- Espacios alrededor de operadores
- Nombres descriptivos en snake_case
4. Practica regularmente
La sintaxis se vuelve natural con la práctica. ¡No te desanimes si al principio cometes errores!
Resumen de reglas importantes
Regla | ✅ Correcto | ❌ Incorrecto |
---|---|---|
Indentación | if True: print("Hola") | if True: print("Hola") |
Mayúsculas | print("Hola") | Print("Hola") |
Dos puntos | if True: | if True |
Nombres | mi_variable = 5 | mi-variable = 5 |
Espacios | a + b | a+b |
💡 Recuerda: La sintaxis de Python está diseñada para ser legible. Si tu código se ve limpio y organizado, probablemente está bien escrito. ¡La práctica hace al maestro!