← Lumbre

Fundamentos de Programación · 1.º Funciones y retorno de valores

Portada de Funciones y retorno de valores

Funciones y retorno de valores

✦ Una función es un nombre para un trozo de lógica · Fundamentos de Programación · Programación · 9 minutos que valen la pena

Roadwise Consulting

Firmado y verificado · Biblioteca UNIV

Objetivo: Definir funciones con parámetros y valores de retorno, usar argumentos por defecto y nombrados, y estructurar programas en unidades reutilizables.

9 min Fundamentos de Programación · Programación 18–30 años
Más
Funciones y retorno de valores

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Fundamentos de Programación · 1.er semestre Cursos Explorar Mi cuenta Salir del modo estudio

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.

La sentencia return en Python
Qué devuelve una función y por qué imprimir no es lo mismo que retornar.

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.

Varias fichas de entrada entran en una máquina de engranajes y sale un único resultado
Una función recibe argumentos, procesa y devuelve un valor con return para poder seguir usándolo.

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.

  1. Definir la función con def y un parámetro que será la columna de entrada.
  2. Calcular dentro la media y la desviación de esa columna.
  3. Devolver la columna transformada con return, no imprimirla.
  4. Llamar la función pasándole cada columna y guardar el resultado.
  5. 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

Nombre para un trozo de lógica
función
Valor que se pasa al llamar
argumento
Entrega el resultado y termina
return
Valor devuelto si no hay return
None
Misma entrada, misma salida, sin efectos
función pura

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.

Une cada término con su papel en una función:

      Funciones y retorno

      • Funciones
        • Definición
          • def, nombre y parámetros
            • docstring
            • Retorno
              • return entrega y termina
                • sin return devuelve None
                  • imprimir no es devolver
                  • Diseño
                    • una cosa bien hecha
                      • funciones puras
                        • abstracción

                      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.

                      Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
                      Más sobre esta lección
                      Explora temas relacionados

                      Conceptos

                      Comentarios

                      Inicia sesión para comentar.

                      Todavía no hay comentarios. Sé la primera persona en opinar.