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") 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") 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") 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}") 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") 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") 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") 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") Grade: B
Ejemplo 3: Verificación de Membresía
username = "admin"
if username == "admin":
print("Access granted to admin panel")
print("Loading admin dashboard...") 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!
// 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.