Funciones y retorno de valores
Una función agrupa instrucciones bajo un nombre, recibe valores de entrada (parámetros) y devuelve un resultado. Se define con def, un nombre, una lista de parámetros entre paréntesis y un cuerpo indentado. Se usa llamándola con argumentos reales.
Parámetros y argumentos
- El parámetro es el nombre en la definición; el argumento, el valor que se pasa al llamar.
- Se pueden pasar por posición o por nombre para claridad.
- Un valor por defecto hace opcional un parámetro.
El return y su ausencia
return entrega un resultado y termina la función de inmediato. Sin ningún return, la función devuelve el valor nulo None. Distinguir entre imprimir y devolver es crucial: solo lo devuelto puede seguir procesándose.
Devolver varios valores
Python permite devolver una tupla de varios resultados, que se recogen desempaquetando en varias variables. Es cómodo para funciones que calculan a la vez, por ejemplo, media y desviación.
Documentar con docstring
- La cadena inicial describe qué hace la función y qué espera.
- Sirve como ayuda interactiva y como contrato para quien la llama.
- Un buen docstring ahorra leer el cuerpo entero.
Funciones puras y sus ventajas
Una función pura devuelve siempre el mismo resultado para la misma entrada y no tiene efectos secundarios. Se prueba fácil, se paraleliza sin miedo y no esconde sorpresas; conviene preferirla salvo que el efecto sea necesario.
Descomponer problemas
- Divide y vencerás: subproblemas pequeños, funciones independientes.
- Cada función hace una sola cosa y la hace bien.
- Los nombres de funciones leídas de seguido cuentan la historia del programa.
Abstracción y ocultamiento
Quien usa una función no necesita saber cómo la implementa, solo qué le da y qué le devuelve. Esa pared entre uso e implementación es lo que permite cambiar los detalles sin romper nada.
El paso de argumentos y sus sorpresas
Los objetos mutables pasados como argumentos pueden modificarse dentro y afectar fuera. Esa compartición es potente pero fuente de bugs: una función que altera la lista que recibió cambia el dato del llamante.

Reutilización en proyectos de datos
- Encapsular una transformación para aplicarla a varias columnas.
- Una función de carga centraliza la lectura y el saneado.
- Definir métricas como funciones hace comparable cualquier experimento.
Errores típicos
- Confundir el valor impreso en pantalla con el valor devuelto.
- Olvidar return y recibir None donde se esperaba un número.
- Cambiar una lista recibida creyendo que era una copia local.
Ejemplo resuelto: una función para normalizar columnas
Repetimos el mismo cálculo de restar la media y dividir por la desviación en varias columnas. Conviene encapsularlo en una función.
- Definir la función con def y un parámetro que será la columna de entrada.
- Calcular dentro la media y la desviación de esa columna.
- Devolver la columna transformada con return, no imprimirla.
- Llamar la función pasándole cada columna y guardar el resultado.
- Comprobar que devolver permite encadenar otras operaciones sobre el valor obtenido.
¿Para qué sirve en la realidad?
Encapsular una transformación como función evita duplicar código, permite probarla por separado y la hace reutilizable sobre cualquier columna o experimento, que es la base de un pipeline mantenible.
Si una función no ejecuta ninguna sentencia return, su valor devuelto es:
Imprimir un valor dentro de una función equivale a devolverlo.
Funciones
Toca una tarjeta para ver la respuesta.
Ordena los pasos para definir y usar una función correctamente:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
SubrutinaSecuencia de instrucciones empaquetada bajo un nombre reutilizable.
Une cada término con su papel en una función:
Funciones y retorno
- Funciones
- Definición
- def, nombre y parámetros
- def, nombre y parámetros
- docstring
- Definición
- return entrega y termina
- una cosa bien hecha
Función (programación)Bloque de código reutilizable que recibe argumentos y devuelve un resultado.
Tienes tres bloques de código que normalizan columnas de forma parecida. Propón cómo convertirlos en una sola función reutilizable: qué parámetros recibiría y qué devolvería.
Tu texto se guarda sólo en este dispositivo.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.