0% encontró este documento útil (0 votos)
13 vistas10 páginas

Material Imprimible (7) Funciones 1

Cargado por

Yanina Tripodi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas10 páginas

Material Imprimible (7) Funciones 1

Cargado por

Yanina Tripodi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Funciones en Python

El concepto de función

En programación, una función es un bloque de código diseñado para realizar una tarea
específica. Se pueden pasar datos a una función (estos datos se conocen como parámetros
o argumentos), y la función puede devolver datos como resultado. Las funciones permiten
segmentar programas grandes en partes más pequeñas y manejables, facilitando la
depuración, el mantenimiento y la reutilización del código.

El concepto de función definida por el usuario

Mientras que muchos lenguajes de programación vienen con una biblioteca estándar repleta
de funciones predefinidas (también conocidas como funciones incorporadas o built-in), los
programadores a menudo necesitan crear soluciones personalizadas para problemas
específicos que no se abordan directamente por las funciones existentes. Aquí es donde
entran las funciones definidas por el usuario.

Una función definida por el usuario es simplemente una función que ha sido creada por el
programador para realizar una tarea particular que no está contemplada por las funciones
predefinidas del lenguaje. Estas funciones se definen utilizando la sintaxis específica del
lenguaje de programación en uso, y una vez definidas, pueden ser llamadas y reutilizadas
múltiples veces a lo largo de un programa.

Ventajas del enfoque funcional

● Reutilización del código: Una vez que se escribe una función, puede ser utilizada
en múltiples lugares dentro de un programa, o incluso en diferentes programas. Esto
reduce la necesidad de escribir el mismo código una y otra vez.

● Modularidad: Las funciones ayudan a organizar el código en bloques lógicos. Cada


función se encarga de una parte específica de la tarea, haciendo que el programa
sea más fácil de entender y mantener.

● Facilidad de pruebas: Al dividir el código en funciones más pequeñas y específicas,


se facilita la prueba de partes individuales del programa. Esto ayuda a identificar y
corregir errores de manera más eficiente.
● Abstracción: Las funciones ocultan la complejidad de las operaciones que realizan.
Los usuarios de la función no necesitan saber cómo funciona internamente para
aprovecharla, necesitan conocer solo su interfaz (los datos de entrada que requiere
y el resultado que devuelve).

● Composición: Las funciones pueden ser compuestas, lo que significa que el output
de una función puede ser utilizado como input para otra. Esto permite construir
soluciones complejas a partir de funciones más simples.

El enfoque funcional, por tanto, no solo mejora la eficiencia y la claridad en la programación,


sino que también permite un diseño de software más limpio y fácil de mantener.

Descomposición y abstracción

Al profundizar en las ventajas del enfoque funcional, dos conceptos clave emergen como
pilares fundamentales: la descomposición y la abstracción. Estos conceptos son esenciales
para entender por qué las funciones son tan poderosas en la programación.

Descomposición se refiere al proceso de dividir una tarea compleja en partes más


pequeñas y manejables. Cada una de estas partes puede ser abordada de manera
independiente, lo que simplifica el proceso de desarrollo. Las funciones son la herramienta
perfecta para la descomposición, ya que permiten encapsular comportamientos específicos
y complejos en unidades discretas que pueden ser desarrolladas, probadas y depuradas de
manera independiente.

Abstracción implica ocultar los detalles de implementación de una operación, exponiendo


solo lo necesario para su uso. En el contexto de las funciones, la abstracción permite a los
desarrolladores utilizar código sin necesidad de entender los detalles internos de cómo
funciona. Esto se logra definiendo una interfaz clara para cada función (es decir, sus
argumentos de entrada y el valor de retorno), lo que permite a los usuarios aprovechar su
funcionalidad sin preocuparse por su implementación interna.
Ejemplo de descomposición y abstracción

Imagina que estás construyendo una aplicación para gestionar un libro de recetas. En lugar
de escribir todo el código en un solo bloque masivo, puedes descomponer la aplicación en
funciones más pequeñas, cada una encargada de una tarea específica como "añadir
receta", "eliminar receta", "buscar receta por ingrediente", etc. Esta descomposición facilita
la gestión del proyecto, ya que puedes enfocarte en una función a la vez.

Por otro lado, cada función abstrae los detalles de cómo realiza su tarea. Por ejemplo, la
función "buscar receta por ingrediente" podría requerir el acceso a una base de datos y
realizar varias operaciones de búsqueda y filtrado. Sin embargo, para el usuario de la
función, estos detalles son irrelevantes; todo lo que necesita saber es que puede
proporcionar un ingrediente como argumento y recibir una lista de recetas como resultado.

Las funciones y el enfoque funcional en la programación no solo promueven la reutilización


del código y la eficiencia en el desarrollo, sino que también fomentan un diseño más limpio y
modular a través de la descomposición y la abstracción. Al utilizar funciones definidas por el
usuario, los programadores pueden construir programas más robustos, mantenibles y
escalables, facilitando la colaboración y la iteración rápida. Este enfoque no se limita a un
lenguaje de programación específico; es un principio universal que puede ser aplicado en
cualquier contexto de desarrollo de software.
Funciones definidas por el usuario en Python

En Python, las funciones se definen usando la palabra clave def, seguida del nombre de la
función y un par de paréntesis. Los paréntesis pueden incluir argumentos o parámetros si la
función los requiere, aunque en este caso nos centraremos en funciones que no reciben ni
devuelven datos. Después de los paréntesis, se coloca un dos puntos (:) y luego el cuerpo
de la función, que contiene el código que se ejecutará cada vez que la función sea llamada.
Este cuerpo debe estar indentado.

Ejemplo 1: Una función simple

En este ejemplo, saludo es una función que no acepta argumentos y su única acción es
imprimir el mensaje "¡Hola, mundo!" en la consola. Para llamar o ejecutar esta función,
simplemente usas su nombre seguido de paréntesis:

Ejemplo 2: Función para mostrar un mensaje predefinido

Aquí, mostrar_mensaje es otra función sin parámetros que, cuando se llama, asigna un
string a la variable mensaje y luego imprime el contenido de mensaje. Para ejecutar esta
función:
Estas funciones son útiles para ejecutar código que realiza acciones específicas sin
necesidad de entrada externa ni retorno de valores. Aunque simples, son un buen punto de
partida para aprender cómo encapsular y organizar la lógica en bloques reutilizables de
código. Como veremos, las funciones que aceptan parámetros y/o devuelven resultados
amplían significativamente la potencia y flexibilidad de la programación en Python.

Funciones que reciben valores

En Python, una función puede ser definida para recibir valores, los cuales se especifican
entre paréntesis en la definición de la función. Estos valores recibidos se llaman
parámetros, y cuando se invoca o llama a una función, los valores concretos que se pasan a
estos parámetros se conocen como argumentos.

Diferencia entre Parámetro y Argumento

● Parámetro: Es una variable que se utiliza en la definición de la función. Representa


un valor o dato que la función espera recibir cuando sea llamada, para ejecutar su
tarea.

● Argumento: Es el valor real que se pasa a la función en el momento de su llamada.


Este valor se asigna al parámetro correspondiente de la función.

Definición de funciones que reciben valores

Para definir una función que recibe valores en Python, se escribe el nombre de la función
seguido de paréntesis que incluyen los nombres de los parámetros. Estos actúan como
variables dentro de la función.
En este ejemplo, nombre es un parámetro de la función saludar. Cuando se llama a la
función, se debe proporcionar un argumento para este parámetro.

Ejemplos de funciones y cómo invocarlas

Ejemplo 1: Función para saludar

Ejemplo 2: Función para calcular la suma de dos números

Ejemplo 3: Función para mostrar información de un libro


En estos ejemplos, los valores específicos como "Ana", 5, 3, "Cien años de soledad", y
"Gabriel García Márquez" son los argumentos. Estos se pasan a la función en el momento
de su llamada y se utilizan dentro de la función según lo definido por los parámetros
nombre, numero1, numero2, titulo, y autor.

Es importante recordar que el número y orden de los argumentos pasados durante la


llamada deben coincidir con el número y orden de los parámetros definidos en la función.

Funciones que devuelven valores

El uso de return en funciones es un aspecto fundamental en la programación, ya que


permite que una función devuelva un resultado al punto del programa desde el cual fue
llamada.

El return se utiliza dentro de una función para finalizar su ejecución y eventualmente


"devolver" un valor al código que llamó a dicha función. Una vez que se ejecuta return, la
función se termina inmediatamente y el valor especificado en return se pasa como
resultado.

Una función puede devolver cualquier tipo de dato, incluyendo números, cadenas, listas,
diccionarios, objetos, o incluso otra función. Si una función no tiene una declaración return o
tiene un return sin un valor específico, devuelve None por defecto. Por supuesto, como
vimos antes, esto es opcional. En efecto, algunas funciones realizan una tarea sin
necesidad de devolver un valor.

Veamos algunos ejemplos del uso de return.

1. Función que devuelve un valor simple


Esta función suma devuelve la suma de a y b. Al llamar a la función y almacenar el
resultado en resultado, luego se imprime ese valor, mostrando 15 en la terminal.

2. Función que devuelve un valor condicional

Esta función es_mayor_de_edad verifica si la edad es mayor o igual a 18 y devuelve True o


False según el caso.

3. Función que devuelve múltiples valores


Esta función obtener_usuario devuelve dos valores, nombre y edad, que se desempaquetan
al llamar a la función. Esta característica es útil para devolver múltiples valores de una sola
función.

4. Función sin return específico

Aunque esta función imprimir_mensaje no tiene una declaración return, realiza una acción
(imprimir un mensaje). Si se intentara capturar un valor devuelto por esta función, se
obtendría None.

Estos ejemplos ilustran cómo el uso de return puede variar según la necesidad de devolver
valores o no. La elección de incluir un return y qué valor devolver depende de la lógica y el
propósito específicos de cada función.

También podría gustarte