Las funciones en Python son la base para escribir código claro y reutilizable. Aquí aprenderás, paso a paso y con ejemplos simples, cómo declararlas con def, elegir buenos nombres, usar parámetros posicionales y named arguments, retornar valores y aprovechar las funciones built-in para convertir tipos. Además, verás por qué Python es batteries included y cómo esto acelera tu trabajo diario.
¿Qué es una función en Python y por qué usarla?
Una función es la agrupación de enunciados con nombre que puede recibir parámetros y regresar un valor. En Python, las funciones son un elemento principal del lenguaje y permiten componer soluciones más limpias y mantenibles.
- Nombre descriptivo: elegirlo bien es crucial para la legibilidad.
- Parámetros: qué recibe la función para operar.
- Valor de retorno: el resultado que se usa en el resto del programa.
- Composición: se puede pasar el resultado de una función a otra.
- Orden de ejecución: de arriba hacia abajo y de izquierda a derecha.
¿Cómo elegir nombres y por qué importan?
- Nombres claros facilitan leer y mantener el código.
- Un buen nombre explica qué hace la función sin comentarios extra.
¿Qué tipos de parámetros existen?
- Posicionales: se pasan por orden.
- Named arguments: permiten especificar por nombre y usar valores predefinidos.
¿Cómo se ejecutan y componen?
- Llamas por nombre y pasas los argumentos requeridos.
- Puedes encadenar funciones: el retorno de una alimenta a otra.
¿Qué funciones built-in y módulos ofrece Python?
Python es lenguaje con batteries included: trae una librería estándar rica en funciones y módulos listos para usar. Las funciones globales o built-in como type, int, bool, float y str son tu caja de herramientas diaria. Además, módulos como math agregan funciones matemáticas (logaritmos, trigonometría, exponenciación).
- type: inspecciona el tipo de un valor.
- int, bool, float, str: convierten datos entre tipos.
- math: funciones matemáticas para cálculos comunes.
¿Cómo convertir tipos con built-ins?
Ejemplos prácticos de conversión y verificación de tipo:
# Tipo de un valor
type(3) # <class 'int'>
# Conversión de string a entero
a = int("5")
# Representación booleana: truthy y falsy
bool(1) # True
bool(0) # False
bool("") # False (string vacío)
# Conversión a flotante
a = float(3) # 3.0
# Conversión a string
s = str(123) # "123"
- Valores truthy y falsy: Python convierte ciertos valores a su representación booleana.
- Un string vacío es falsy; números distintos de cero suelen ser truthy.
¿Qué es el módulo math y para qué sirve?
- Se importa con
import math.
- Ofrece logaritmos, funciones trigonométricas y exponenciación.
- Útil para cálculos matemáticos sin reinventar la rueda.
¿Cómo declarar, llamar y asignar el retorno de una función?
Declaras una función con el keyword def, dos puntos y un bloque indentado. En Python, la convención es usar cuatro espacios; tu IDE puede traducir tab a cuatro espacios.
def suma_dos_numeros(x, y):
return x + y
# Llamada y uso del valor de retorno
resultado = suma_dos_numeros(10, 15) # 25
# type sobre la función y sobre el resultado
type(suma_dos_numeros) # <class 'function'>
type(resultado) # <class 'int'>
# Asignación del retorno a una variable ("=" es asignación, no igualdad)
suma_total = suma_dos_numeros(10, 15)
print(suma_total) # 25
¿Qué debo recordar al definir funciones?
- Usa def y termina la línea con dos puntos.
- Indenta el bloque interno con cuatro espacios.
- Retorna con return el valor que necesites reutilizar.
¿Cómo se conectan con el flujo del programa?
- El intérprete corre de arriba hacia abajo y de izquierda a derecha.
- Llama funciones cuando las necesitas y pasa los argumentos correctos.
- Aprovecha la composición para escribir menos código repetido.
¿Con qué built-in trabajas más a diario o qué patrón de parámetros te resulta más claro: posicionales o named arguments? Comparte tu experiencia y ejemplos en los comentarios.