La indentación en Python es fundamental ya que define bloques de código y determina qué instrucciones pertenecen a qué estructuras.
A diferencia de otros lenguajes que usan llaves {}, Python usa espacios en blanco.
Este ejemplo muestra la definición de una función en Python llamada saludar(). Dentro de la función, las instrucciones están indentadas con 4 espacios para indicar que pertenecen a su bloque.
Ambas líneas print están al mismo nivel de indentación, lo que garantiza que se ejecuten como parte de la función.
def saludar():
print("Hola") # Indentado con 4 espacios
print("¿Cómo estás?") # Mismo nivel de indentación Este ejemplo usa una estructura condicional if-else donde el bloque indentado bajo if se ejecuta si edad es 18 o más; de lo contrario, se ejecuta el bloque bajo else.
La indentación organiza cada bloque de código según la condición.
edad = 18
if edad >= 18:
print("Eres mayor de edad") # Bloque indentado
print("Puedes votar")
else:
print("Eres menor de edad") # Mismo nivel que el if
print("Aún no puedes votar") Para este ejemplo el bucle for que recorre una lista de frutas. Cada elemento fruta se imprime dentro del bloque indentado.
Si fruta es “pera”, el mensaje adicional tiene doble indentación para indicar que pertenece al bloque if dentro del for.
# Bucle for con lista
frutas = ["manzana", "pera", "uva"]
for fruta in frutas:
print(f"Me gusta la {fruta}") # Indentado
if fruta == "pera":
print("¡Especialmente la pera!") # Doble indentación la clase Persona define dos métodos: __init__ y saludar, ambos indentados a nivel de clase.
Dentro de __init__, la asignación self.nombre = nombre tiene doble indentación, y en saludar, la impresión también está indentada para mostrar que pertenece a ese método.
La indentación define claramente la estructura y pertenencia de cada bloque de código.
class Persona:
def __init__(self, nombre): # Método indentado
self.nombre = nombre # Doble indentación
def saludar(self): # Mismo nivel que init
print(f"Hola, soy {self.nombre}") # Indentado dentro del método # Error Indentación incorrecta
if True:
print("Esto dará error") # Falta indentación
# ✅ Indentación correcta
if True:
print("Esto funciona correctamente") # Error No mezclar espacios y tabulaciones
def funcion():
print("Usando espacios")
print("Usando tabulación") # Esto puede causar errores
# ✅ Mantener consistencia
def funcion():
print("Usando espacios")
print("Usando espacios también")