Fuente: Libro "Python para principiantes". Practical books. Medellin, Colombia, 2023
14.2. Definición de funciones
En este punto del libro, esperamos que ya esté familiarizado con algunas funciones que provee
Python, tales como: print, input y len.
Una función es un bloque de código que está diseñado para hacer una tarea específica. Por ejemplo, la función input está diseñada para recoger datos que ingresa el usuario por teclado. La función print está diseñada para imprimir información por pantalla. Una función también puede verse como un “mini programa” que puede usarse dentro de un programa.
El propósito de usar funciones es dividir un programa grande en pequeñas partes. Y de esta manera hacer que el código sea más modular y reutilizable. En Python podemos definir nuestras propias funciones, para ello veamos la estructura de una función.
Estructura de una función
Una función posee una estructura como la presentada en la Figura 14-5.
1. Se utiliza la palabra reservada de Python def (que indica que vamos a definir una
función).
2. Se define el nombre de la función. Se recomienda colocar un nombre alusivo a la acción
específica que realiza la función (recuerde no utilizar como nombre de la función,
nombres de palabras reservadas de Python).
3. Se agregan paréntesis “()” y dentro de los paréntesis se definen los parámetros que
recibe la función. Los parámetros son opcionales. En la siguiente sección se explicará
cómo se comportan las funciones con parámetros.
4. Se colocan dos puntos “:”.
5. Se define el cuerpo de la función. Allí se coloca la instrucción (o instrucciones) propias de
la función. Esa instrucción (o instrucciones) se deben colocar como bloques de código
indentados. Es decir, mover de izquierda a derecha (con respecto a def) mediante una tabulación.
6. Si la función tiene retorno, se debe colocar la palabra reservada de Python return,
seguida del valor a retornar. El retorno es opcional y se explicará en una sección posterior.
7. Finalmente, cuando se desee ejecutar el código de la función, esta se debe llamar o
“invocar”. Para invocar una función se debe colocar, por fuera del cuerpo de la función,
el nombre de la función, seguida de paréntesis y se deben enviar tantos argumentos
como parámetros tenga la función.
Definiendo nuestra primera función
Teniendo en cuenta la estructura anterior es hora de definir nuestra primera función.
Inicialmente, definiremos una función simple sin parámetros ni retorno. El siguiente código
muestra cómo definir una función llamada saludar, que se encarga de imprimir por pantalla un
texto de saludo.
• En la línea 1 definimos la función saludar que no recibe parámetros.
• En las líneas 2 y 3 definimos el cuerpo de la función. En este caso la función se encarga de
imprimir dos textos por pantalla.
• Luego, en la línea 5 invocamos la función, esto implica que se ejecutará el cuerpo de la
función y se imprimirán los dos textos por pantalla.
• Al terminar la ejecución de la función, se ejecuta la línea 6 y se imprime por pantalla el
texto "Fin programa".
Codificar y ejecutar
1. def saludar():
2. print("Bienvenido")
3. print("A mi programa")
4.
5. saludar()
6. print("Fin programa")
Flujo de ejecución
El flujo de ejecución de un programa que contiene la definición de una función propia es un poco
diferente a los flujos de ejecución que hemos visto en este libro. Por lo tanto, hagamos
seguimiento, paso a paso, de las líneas de código (del código anterior) que se ejecutan y en qué
orden lo hacen (ver Figura 14-7):
• Paso 1: Se ejecuta la línea 5. Allí invocamos la función saludar. Las líneas 1 a 3 son
omitidas por Python (dado que allí se encuentra el código de la función saludar). Esto
quiere decir que el código que define una función no se ejecuta por defecto.
• Paso 2: Luego de la invocación anterior, se ejecuta la línea 1.
• Pasos 3 y 4: Se ejecuta el cuerpo de la función saludar y se imprimen los dos textos allí
definidos.
• Paso 5: El cuerpo de la función termina, y ahora el programa retorna a su ejecución
principal (a la línea 6, línea posterior a la invocación de la función). Allí se imprime por
pantalla el texto "Fin programa".
Ejercicio:
Basado en el siguiente código, responda: (i) ¿Qué líneas y en qué orden se ejecutan? Y (ii) ¿Cuál
será la salida por pantalla?
Codificar y ejecutar
1. def saludar():
2. print("Bienvenido")
3. print("A mi programa")
4.
5. saludar()
6. saludar()
No hay comentarios.:
Publicar un comentario