Cómo Funciona la Indentación en Python 🐍

  Indentación en Python

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.

Reglas Básicas:

  1. Se utilizan 4 espacios o 1 tabulación para cada nivel.
  2. Todos los bloques dentro de una misma estructura deben tener la misma indentación.
  3. La indentación incorrecta causará errores.

1. Funciones

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.

python
def saludar():
  print("Hola")  # Indentado con 4 espacios
  print("¿Cómo estás?")  # Mismo nivel de indentación

2. Condicionales

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.

python
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")

3. Bucles

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.

python
# 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

4. Clases

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.

python
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

Errores Comunes a Evitar:


python
# ❌ Indentación incorrecta
if True:
print("Esto dará error")  # Falta indentación

# ✅ Indentación correcta
if True:
  print("Esto funciona correctamente")

Mezcla de Espacios y Tabulaciones:

python
# ❌ 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")
  Consejos Prácticos

  1. Usa un editor que muestre espacios en blanco
  2. Configura tu editor para convertir tabulaciones en espacios
  3. Mantén una indentación consistente en todo tu código
  4. La mayoría de los editores modernos automáticamente indentan el código