if en Python: Declaraciones Condicionales Explicadas

Aprende a usar declaraciones if en Python. Guía completa con sintaxis, ejemplos y mejores prácticas para programación condicional. Incluye ejemplos de código interactivos.

La declaración if en Python es una declaración condicional que ejecuta un bloque de código solo cuando se cumple una condición específica. Evalúa una expresión booleana que devuelve True o False, y ejecuta el bloque de código con sangría cuando la condición es True. Las declaraciones if de Python permiten la toma de decisiones en tus programas, permitiendo diferentes rutas de código basadas en condiciones variables.

Sintaxis Básica de la Declaración if

La sintaxis de una declaración if en Python es sencilla:

if condition:
    # code to execute if condition is True
    statement

La condition es una expresión booleana (como number > 5 o name == "Alice") que se evalúa como True o False. Si la condición se evalúa como True, se ejecuta el bloque de código con sangría; si es False, Python omite el bloque por completo.

Ejemplo 1: Declaración if Simple

number = 10

if number > 0:
    print("The number is positive")
Salida:
The number is positive

Ejemplo 2: Declaración if con Condición False

number = -5

if number > 0:
    print("The number is positive")

print("This line always executes")
Salida:
This line always executes

En el segundo ejemplo, como -5 no es mayor que 0, la declaración print dentro del bloque if se omite.

Sangría en Declaraciones if

Python depende de la sangría (espacios en blanco al inicio de una línea) para definir el alcance de los bloques de código, a diferencia de otros lenguajes que usan llaves. Todas las declaraciones dentro de un bloque if deben tener la misma cantidad de sangría, típicamente 4 espacios.

Sangría Correcta:

age = 20

if age >= 18:
    print("You are an adult")
    print("You can vote")
    print("You have full legal rights")

Sangría Incorrecta (causará un error):

age = 20

if age >= 18:
print("You are an adult")  # IndentationError

Si no usas la sangría correcta, Python generará un IndentationError porque no puede determinar qué declaraciones pertenecen al bloque if.

Operadores de Comparación con Declaraciones if

Python admite operadores de comparación estándar que devuelven valores booleanos para usar en declaraciones if:

  • == - Igual a
  • != - Diferente de
  • < - Menor que
  • <= - Menor o igual que
  • > - Mayor que
  • >= - Mayor o igual que

Ejemplo: Usando Diferentes Operadores de Comparación

a = 33
b = 200

if b > a:
    print("b is greater than a")

if a != b:
    print("a and b are not equal")

if a <= 50:
    print("a is 50 or less")
Salida:
b is greater than a
a and b are not equal
a is 50 or less

Múltiples Declaraciones en el Bloque if

Puedes incluir múltiples declaraciones dentro de un bloque if siempre que todas tengan el mismo nivel de sangría.

Ejemplo:

score = 95

if score >= 90:
    print("Excellent work!")
    print("You earned an A grade")
    grade = "A"
    print(f"Your grade is: {grade}")
Salida:
Excellent work!
You earned an A grade
Your grade is: A

Variables Booleanas en Declaraciones if

Las variables booleanas se pueden usar directamente en declaraciones if sin operadores de comparación.

Ejemplo:

is_logged_in = True

if is_logged_in:
    print("Welcome back!")

is_raining = False

if is_raining:
    print("Take an umbrella")
else:
    print("Enjoy the sunshine")
Salida:
Welcome back!
Enjoy the sunshine

Python trata ciertos valores como False en contexto booleano: 0, cadenas vacías "", None, y colecciones vacías como [] o {}. Todos los demás valores se tratan como True.

Valores Truthy y Falsy

Python puede evaluar muchos tipos de valores como True o False en declaraciones condicionales:

Valores Falsy (evaluados como False):

  • 0 (cero)
  • "" (cadena vacía)
  • None
  • [] (lista vacía)
  • (diccionario vacío)
  • () (tupla vacía)

Valores Truthy (evaluados como True):

  • Cualquier número distinto de cero (positivo o negativo)
  • Cualquier cadena no vacía
  • Colecciones no vacías

Ejemplo:

name = ""

if name:
    print(f"Hello, {name}")
else:
    print("Name is empty")

items = [1, 2, 3]

if items:
    print("List has items")
Salida:
Name is empty
List has items

Declaración if de Una Línea

Para condiciones simples, puedes escribir una declaración if en una sola línea:

Formato Estándar:

temperature = 30

if temperature > 25:
    print("It's hot outside")

Formato Compacto:

temperature = 30

if temperature > 25: print("It's hot outside")

Ambas versiones producen la misma salida, pero el formato de una línea es más conciso para declaraciones simples.

Casos de Uso Comunes

Caso de Uso 1: Validar Entrada del Usuario

age = int(input("Enter your age: "))

if age >= 18:
    print("You are eligible to vote")

Caso de Uso 2: Verificar Números Pares o Impares

number = 7

if number % 2 == 0:
    print(f"{number} is even")

Caso de Uso 3: Validación de Contraseña

password = "secret123"

if len(password) >= 8:
    print("Password is strong enough")

Caso de Uso 4: Verificar Contenido de Lista

shopping_cart = ["apple", "banana", "milk"]

if "milk" in shopping_cart:
    print("Milk is in your cart")

Errores Comunes a Evitar

Error 1: Olvidar los Dos Puntos

# Wrong
if number > 0
    print("Positive")

# Correct
if number > 0:
    print("Positive")

Error 2: Usar = En Lugar de ==

x = 5

# Wrong (assignment, not comparison)
if x = 5:
    print("x is 5")

# Correct
if x == 5:
    print("x is 5")

Error 3: Sangría Inconsistente

# Wrong
if True:
    print("Line 1")
      print("Line 2")  # Different indentation level

# Correct
if True:
    print("Line 1")
    print("Line 2")

Ejemplos de Práctica

Ejemplo 1: Verificador de Temperatura

temperature = 22

if temperature > 30:
    print("It's very hot")

if temperature > 20:
    print("It's warm")

if temperature < 10:
    print("It's cold")
Salida:
It's warm

Ejemplo 2: Asignación de Calificaciones

marks = 85

if marks >= 90:
    print("Grade: A")

if marks >= 80 and marks < 90:
    print("Grade: B")

if marks >= 70 and marks < 80:
    print("Grade: C")
Salida:
Grade: B

Ejemplo 3: Verificación de Membresía

username = "admin"

if username == "admin":
    print("Access granted to admin panel")
    print("Loading admin dashboard...")
Salida:
Access granted to admin panel
Loading admin dashboard...

Pruébalo Tú Mismo

Practica lo que has aprendido modificando el código a continuación. ¡Intenta cambiar los valores y condiciones para ver diferentes salidas!

Listo
main.py
Consola de Salida 0 ms
// Haz clic en "Ejecutar Código" para ver resultados

Temas Relacionados

Preguntas Frecuentes

¿Cuál es la diferencia entre if y if else en Python?

Una declaración if solo ejecuta código cuando la condición es True. Una declaración if else proporciona un bloque de código alternativo que se ejecuta cuando la condición es False.

¿Necesito usar paréntesis alrededor de la condición en declaraciones if de Python?

No, los paréntesis son opcionales en Python. Tanto if (x > 5): como if x > 5: son válidos, pero el último es más pythónico.

¿Puedo usar múltiples condiciones en una sola declaración if?

Sí, puedes usar operadores lógicos como and, or y not para combinar múltiples condiciones: if age >= 18 and has_license:.

¿Qué sucede si no sangro el código después de una declaración if?

Python generará un IndentationError porque requiere sangría para definir bloques de código.