Las declaraciones condicionales if
, elif
y else
en Python permiten ejecutar bloques de código en función de si una condición es verdadera o falsa. Estas estructuras de control son fundamentales para tomar decisiones en tu código.
# Declaración if
numero = 10
if numero > 5:
print("El número es mayor que 5")
# Declaración if-else
numero = 3
if numero > 5:
print("El número es mayor que 5")
else:
print("El número es menor o igual que 5")
# Declaración if-elif-else
numero = 5
if numero > 5:
print("El número es mayor que 5")
elif numero == 5:
print("El número es igual a 5")
else:
print("El número es menor que 5")
if
La declaración if
evalúa una condición y, si esa condición es verdadera, ejecuta el bloque de código que sigue a la declaración if
.
En el primer ejemplo, se declara una variable numero
con el valor 10
. La condición if numero > 5
evalúa si el número es mayor que 5. Dado que 10
es mayor que 5
, el bloque de código dentro del if
se ejecuta, imprimiendo «El número es mayor que 5».
if-else
La declaración if-else
proporciona una bifurcación en el flujo de control del programa. Si la condición del if
es verdadera, se ejecuta el bloque de código del if
. Si la condición es falsa, se ejecuta el bloque de código del else
.
En el segundo ejemplo, se declara una variable numero
con el valor 3
. La condición if numero > 5
evalúa si el número es mayor que 5
. Dado que 3
no es mayor que 5
, el bloque de código dentro del else
se ejecuta, imprimiendo «El número es menor o igual que 5».
if-elif-else
La declaración if-elif-else
permite manejar múltiples condiciones. La condición del if
se evalúa primero. Si es verdadera, se ejecuta su bloque de código. Si es falsa, se evalúa la condición del elif
. Si el elif
es verdadero, se ejecuta su bloque de código. Si ninguna de las condiciones anteriores es verdadera, se ejecuta el bloque de código del else
.
En el tercer ejemplo, se declara una variable numero
con el valor 5
. La condición if numero > 5
evalúa si el número es mayor que 5
. Dado que 5
no es mayor que 5
, la condición es falsa y se evalúa la siguiente condición elif numero == 5
. Dado que 5
es igual a 5
, el bloque de código dentro del elif
se ejecuta, imprimiendo «El número es igual a 5».
if
: Evalúa una condición y ejecuta un bloque de código si la condición es verdadera.if-else
: Evalúa una condición. Si la condición es verdadera, ejecuta el bloque de código del if
; de lo contrario, ejecuta el bloque de código del else
.if-elif-else
: Evalúa múltiples condiciones secuencialmente. Ejecuta el bloque de código del primer if
o elif
cuya condición sea verdadera. Si ninguna condición es verdadera, ejecuta el bloque de código del else
.Las expresiones condicionales en Python, también conocidas como expresiones ternarias, permiten evaluar condiciones y seleccionar una de dos expresiones para su ejecución en una sola línea de código. Son útiles para simplificar el código cuando solo se necesita una declaración if-else
simple.
# Declaración if-else tradicional
edad = 20
if edad >= 18:
mensaje = "Eres un adulto"
else:
mensaje = "Eres menor de edad"
print(mensaje)
# Expresión condicional
edad = 16
mensaje = "Eres un adulto" if edad >= 18 else "Eres menor de edad"
print(mensaje)
# Otra expresión condicional con cálculo
a = 5
b = 10
maximo = a if a > b else b
print("El máximo es:", maximo)
if-else
TradicionalLa declaración if-else
tradicional permite evaluar una condición y ejecutar un bloque de código basado en si la condición es verdadera o falsa. En el primer ejemplo, se evalúa la edad para determinar si una persona es un adulto o menor de edad. Si la edad es mayor o igual a 18, se asigna el mensaje «Eres un adulto»; de lo contrario, se asigna «Eres menor de edad».
Una expresión condicional permite realizar la misma operación que una declaración if-else
en una sola línea de código.
En el segundo ejemplo, la variable mensaje
se asigna a «Eres un adulto» si la condición edad >= 18
es verdadera; de lo contrario, se asigna a «Eres menor de edad». Esto simplifica el código y hace que sea más legible cuando solo se necesita una operación simple.
Las expresiones condicionales también pueden usarse para seleccionar entre dos valores basados en una condición. En el tercer ejemplo, se determina el máximo de dos números a
y b
utilizando una expresión condicional. Si a
es mayor que b
, maximo
se asigna a a
; de lo contrario, se asigna a b
.
if-else
Tradicional: Utiliza bloques de código separados para ejecutar operaciones basadas en si una condición es verdadera o falsa.Los bucles en Python permiten ejecutar un bloque de código repetidamente mientras se cumpla una condición específica. Python ofrece dos tipos principales de bucles: for
y while
.
# Bucle for
for i in range(5):
print("Iteración for:", i)
# Bucle for con lista
frutas = ["manzana", "plátano", "cereza"]
for fruta in frutas:
print("Me gusta la", fruta)
# Bucle while
contador = 0
while contador < 5:
print("Contador while:", contador)
contador += 1
# Bucle while con condición adicional
numero = 10
while numero > 0:
print("Número:", numero)
numero -= 2
# Uso de break y continue en bucles
for i in range(10):
if i == 3:
continue # Saltar la iteración actual
if i == 7:
break # Salir del bucle
print("Número con break/continue:", i)
for
El bucle for
en Python se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena). La función range
se usa a menudo con for
para generar una secuencia de números.
En el primer ejemplo, el bucle for
itera cinco veces, de 0
a 4
, imprimiendo «Iteración for:» seguido del valor de i
en cada iteración.
En el segundo ejemplo, se itera sobre una lista de frutas y se imprime un mensaje con el nombre de cada fruta.
while
El bucle while
ejecuta un bloque de código mientras una condición sea verdadera. La condición se evalúa antes de cada iteración del bucle.
En el tercer ejemplo, el bucle while
comienza con contador
igual a 0
y se ejecuta mientras contador
sea menor que 5
. En cada iteración, se imprime el valor de contador
y luego se incrementa en 1
.
En el cuarto ejemplo, el bucle while
comienza con numero
igual a 10
y se ejecuta mientras numero
sea mayor que 0
. En cada iteración, se imprime el valor de numero
y luego se decrementa en 2
.
break
y continue
Los operadores break
y continue
permiten controlar el flujo de los bucles de manera más precisa.
break
: Termina el bucle inmediatamente y pasa a la siguiente declaración después del bucle.continue
: Salta la iteración actual y pasa a la siguiente iteración del bucle.En el último ejemplo, el bucle for
itera de 0
a 9
. Si el valor de i
es 3
, se ejecuta continue
, lo que salta la impresión y pasa a la siguiente iteración. Si el valor de i
es 7
, se ejecuta break
, lo que termina el bucle inmediatamente.
for
: Itera sobre una secuencia de elementos, como una lista o un rango de números.while
: Ejecuta un bloque de código mientras una condición sea verdadera.break
y continue
: break
termina el bucle inmediatamente, mientras que continue
salta la iteración actual y pasa a la siguiente.Las funciones en Python son bloques de código reutilizables que realizan una tarea específica. Permiten organizar y estructurar el código de manera más eficiente. Las funciones pueden tomar argumentos y devolver valores.
# Definición de una función sin parámetros
def saludar():
print("Hola, Mundo")
# Llamada a la función sin parámetros
saludar() # Output: Hola, Mundo
# Definición de una función con un parámetro
def saludar_a(nombre):
print(f"Hola, {nombre}")
# Llamada a la función con un argumento
saludar_a("Ana") # Output: Hola, Ana
# Definición de una función con múltiples parámetros
def sumar(a, b):
return a + b
# Llamada a la función con múltiples argumentos
resultado = sumar(5, 3)
print("La suma es:", resultado) # Output: La suma es: 8
# Definición de una función con valores por defecto
def saludar_persona(nombre="Mundo"):
print(f"Hola, {nombre}")
# Llamada a la función sin argumentos
saludar_persona() # Output: Hola, Mundo
# Llamada a la función con un argumento
saludar_persona("Carlos") # Output: Hola, Carlos
# Definición de una función con argumentos arbitrarios
def listar_frutas(*frutas):
for fruta in frutas:
print(fruta)
# Llamada a la función con múltiples argumentos
listar_frutas("Manzana", "Banana", "Cereza")
# Output:
# Manzana
# Banana
# Cereza
# Definición de una función con argumentos clave-valor arbitrarios
def mostrar_info(**info):
for clave, valor en info.items():
print(f"{clave}: {valor}")
# Llamada a la función con argumentos clave-valor
mostrar_info(nombre="Ana", edad=25, ciudad="Madrid")
# Output:
# nombre: Ana
# edad: 25
# ciudad: Madrid
Las funciones en Python se definen usando la palabra clave def
seguida del nombre de la función y paréntesis ()
. El bloque de código dentro de la función se define con una indentación. En este caso, la función saludar
no toma ningún parámetro y simplemente imprime «Hola, Mundo» cuando se llama.
Para llamar a una función, se escribe el nombre de la función seguido de paréntesis. En el ejemplo, saludar()
llama a la función saludar
que imprime «Hola, Mundo».
Las funciones pueden tomar parámetros, que son valores de entrada que se pasan a la función para ser utilizados dentro de ella. En el ejemplo, la función saludar_a
toma un parámetro nombre
y lo usa para imprimir un saludo personalizado.
Al llamar a una función con parámetros, se pasan los valores correspondientes dentro de los paréntesis. En el ejemplo, saludar_a("Ana")
pasa el argumento "Ana"
al parámetro nombre
.
Las funciones pueden tomar múltiples parámetros separados por comas. En el ejemplo, la función sumar
toma dos parámetros a
y b
, y devuelve su suma usando la palabra clave return
.
Al llamar a una función con múltiples parámetros, se pasan los valores correspondientes en el mismo orden. En el ejemplo, sumar(5, 3)
pasa los valores 5
y 3
a los parámetros a
y b
, y la función devuelve 8
.
Las funciones pueden tener parámetros con valores por defecto, que se utilizan si no se pasa ningún argumento. En el ejemplo, la función saludar_persona
tiene un parámetro nombre
con un valor por defecto "Mundo"
.
Se puede llamar a la función con o sin argumentos. Si no se pasa ningún argumento, se usa el valor por defecto. En el ejemplo, saludar_persona()
usa el valor por defecto "Mundo"
, mientras que saludar_persona("Carlos")
pasa el argumento "Carlos"
.
Las funciones pueden aceptar un número variable de argumentos usando *args
(argumentos posicionales) o **kwargs
(argumentos clave-valor). En el ejemplo, la función listar_frutas
toma cualquier número de argumentos posicionales y los itera para imprimir cada uno.
Se pueden pasar múltiples argumentos al llamar a la función. En el ejemplo, listar_frutas("Manzana", "Banana", "Cereza")
pasa tres argumentos que se imprimen dentro de la función.
Las funciones pueden aceptar un número variable de argumentos clave-valor usando **kwargs
. En el ejemplo, la función mostrar_info
toma cualquier número de argumentos clave-valor y los itera para imprimir cada par clave-valor.
Se pueden pasar múltiples argumentos clave-valor al llamar a la función. En el ejemplo, mostrar_info(nombre="Ana", edad=25, ciudad="Madrid")
pasa tres pares clave-valor que se imprimen dentro de la función.
def
seguido del nombre de la función y paréntesis. El bloque de código de la función se define con una indentación.*args
y **kwargs
para aceptar un número variable de argumentos.Las funciones lambda en Python son pequeñas funciones anónimas que se definen con la palabra clave lambda
. Se utilizan para crear funciones rápidas y simples sin necesidad de usar def
. Las funciones lambda pueden tener cualquier número de argumentos, pero solo una expresión. La expresión se evalúa y devuelve su resultado.
# Función lambda para sumar dos números
suma = lambda a, b: a + b
print(suma(5, 3)) # Output: 8
# Función lambda para multiplicar por dos
multiplicar_por_dos = lambda x: x * 2
print(multiplicar_por_dos(4)) # Output: 8
# Función lambda sin argumentos
saludar = lambda: "Hola, Mundo"
print(saludar()) # Output: Hola, Mundo
# Función lambda con condición
es_par = lambda n: n % 2 == 0
print(es_par(4)) # Output: True
print(es_par(7)) # Output: False
# Uso de lambda con funciones de orden superior
# Función lambda como argumento para sorted
puntos = [(1, 2), (3, 1), (5, -1)]
puntos_ordenados = sorted(puntos, key=lambda punto: punto[1])
print(puntos_ordenados) # Output: [(5, -1), (3, 1), (1, 2)]
# Uso de lambda con map
numeros = [1, 2, 3, 4]
cuadrados = list(map(lambda x: x ** 2, numeros))
print(cuadrados) # Output: [1, 4, 9, 16]
# Uso de lambda con filter
numeros = [1, 2, 3, 4, 5, 6]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares) # Output: [2, 4, 6]
Las funciones lambda se definen utilizando la palabra clave lambda
seguida de una lista de parámetros, dos puntos :
y una expresión. La expresión es evaluada y su resultado es devuelto.
En el primer ejemplo, suma = lambda a, b: a + b
define una función lambda que toma dos argumentos a
y b
y devuelve su suma. La función lambda se llama con suma(5, 3)
y devuelve 8
.
Las funciones lambda pueden tener cualquier número de argumentos, incluyendo uno. En el segundo ejemplo, multiplicar_por_dos = lambda x: x * 2
define una función lambda que toma un argumento x
y devuelve su valor multiplicado por 2
.
Las funciones lambda también pueden no tener argumentos. En el tercer ejemplo, saludar = lambda: "Hola, Mundo"
define una función lambda que no toma argumentos y devuelve la cadena "Hola, Mundo"
.
Las funciones lambda pueden incluir condiciones. En el cuarto ejemplo, es_par = lambda n: n % 2 == 0
define una función lambda que toma un argumento n
y devuelve True
si n
es par (n % 2 == 0
), y False
en caso contrario.
Las funciones lambda son especialmente útiles cuando se utilizan como argumentos para funciones de orden superior, como sorted
, map
, y filter
.
sorted
: Ordena una lista basada en una clave. En el quinto ejemplo, sorted(puntos, key=lambda punto: punto[1])
ordena una lista de tuplas puntos
basada en el segundo elemento de cada tupla.
map
: Aplica una función a cada elemento de una lista. En el sexto ejemplo, list(map(lambda x: x ** 2, numeros))
aplica una función lambda que eleva al cuadrado cada elemento de la lista numeros
.
filter
: Filtra elementos de una lista que cumplen con una condición. En el séptimo ejemplo, list(filter(lambda x: x % 2 == 0, numeros))
filtra los elementos de la lista numeros
para obtener solo los números pares.
lambda
, seguida de parámetros, dos puntos :
y una expresión.def
.sorted
, map
, y filter
.