Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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:

  1. 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!
  1. 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")
  1. 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:

  1. 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
  1. 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
  1. 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ónif True:
    print("Hola")
if True:
print("Hola")
Mayúsculasprint("Hola")Print("Hola")
Dos puntosif True:if True
Nombresmi_variable = 5mi-variable = 5
Espaciosa + ba+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!