Volver al curso

Python para Data Science

leccion
3 / 14
beginner
12 horas
Fundamentos de Python

Funciones y Lambda

Lectura
12 min~2 min lectura

Funciones en Python

Definiendo funciones

# Funcion basica
def saludar(nombre):
    return f"Hola {nombre}!"

# Con valor por defecto
def saludar(nombre="amigo"):
    return f"Hola {nombre}!"

# Multiples parametros
def calcular_imc(peso, altura):
    return peso / (altura ** 2)

# Retorno multiple
def estadisticas(numeros):
    return min(numeros), max(numeros), sum(numeros)/len(numeros)

minimo, maximo, promedio = estadisticas([1, 2, 3, 4, 5])

Funciones Lambda

Las funciones lambda son funciones anonimas de una linea. Muy utiles en data science.

# Sintaxis: lambda argumentos: expresion
cuadrado = lambda x: x ** 2
cuadrado(5)  # 25

suma = lambda a, b: a + b
suma(3, 4)  # 7

# Uso comun con map, filter, sorted
numeros = [1, 2, 3, 4, 5]

# map: aplica funcion a cada elemento
cuadrados = list(map(lambda x: x**2, numeros))
# [1, 4, 9, 16, 25]

# filter: filtra elementos
pares = list(filter(lambda x: x % 2 == 0, numeros))
# [2, 4]

# sorted: ordenar con criterio
personas = [{'nombre': 'Ana', 'edad': 25},
            {'nombre': 'Luis', 'edad': 30}]
ordenado = sorted(personas, key=lambda p: p['edad'])

Funciones utiles integradas

numeros = [3, 1, 4, 1, 5, 9, 2, 6]

# Estadisticas basicas
sum(numeros)     # 31
min(numeros)     # 1
max(numeros)     # 9
len(numeros)     # 8

# Enumerate: indice + valor
for i, num in enumerate(numeros):
    print(f"Indice {i}: {num}")

# Zip: combinar listas
nombres = ['Ana', 'Luis', 'Maria']
edades = [25, 30, 28]
for nombre, edad in zip(nombres, edades):
    print(f"{nombre} tiene {edad} anos")

# Any/All
any([False, False, True])  # True
all([True, True, False])   # False