Definir y Usar Funciones en Python

PythonBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a definir y utilizar funciones en Python. Las funciones son esenciales para organizar el código y promover la reutilización. Comenzará comprendiendo el concepto de funciones y explorando las funciones integradas (built-in functions) de Python, aprendiendo a invocarlas con parámetros y a observar su salida.

Tras la exploración de las funciones integradas, aprenderá a definir sus propias funciones simples. Finalmente, practicará la invocación de estas funciones definidas por el usuario para ejecutar los bloques de código que contienen, solidificando su comprensión de la creación y el uso de funciones en Python.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Comprender y Utilizar Funciones Integradas (Built-in Functions)

En este paso, exploraremos el concepto de funciones y aprenderemos a utilizar las funciones integradas de Python. Una función es un bloque de código reutilizable que realiza una acción específica. Python proporciona muchas funciones integradas que están listas para usar, como print(), len() y sum().

Comencemos escribiendo un script de Python para ver algunas de estas funciones en acción.

Primero, encuentre el archivo builtin_functions.py en el explorador de archivos del WebIDE a la izquierda. Este archivo ha sido precreado para usted en el directorio ~/project. Haga doble clic en el archivo para abrirlo en el editor.

Ahora, añada el siguiente código Python al archivo builtin_functions.py. Este código demuestra cómo invocar varias funciones integradas.

## Using the print() function to display output
print("Hello, Python Functions!")

## Using the len() function to get the length of a string
message = "Hello World"
print(len(message))

## Using the sum() function to add numbers in a list
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)

Después de escribir el código, guarde el archivo presionando Ctrl+S.

Para ejecutar el script, abra la terminal integrada en el WebIDE (si no está abierta, vaya al menú superior y seleccione Terminal > New Terminal). Luego, ejecute el siguiente comando:

python ~/project/builtin_functions.py

Verá la salida de cada llamada a print() en la terminal.

Hello, Python Functions!
11
15

Esta salida muestra los resultados de invocar las funciones integradas: print() muestra texto, len() devuelve el número de caracteres en una cadena (string), y sum() calcula la suma de los elementos en una lista.

Usar Funciones con Parámetros y Valores de Retorno

Las funciones a menudo necesitan datos de entrada para operar. Estos datos se pasan a la función como parámetros (también llamados argumentos). Después de procesarlos, una función puede enviar un resultado, lo que se conoce como valor de retorno (return value).

Vamos a expandir nuestro script builtin_functions.py para explorar funciones que aceptan parámetros y ver cómo podemos utilizar sus valores de retorno.

Abra nuevamente el archivo builtin_functions.py en el editor del WebIDE. Agregue el siguiente código al final del archivo:

## Using the max() function with multiple number parameters
largest_number = max(10, 25, 15)
print(largest_number)

## Using the round() function with two parameters
pi_approx = 3.14159
rounded_pi = round(pi_approx, 2) ## round to 2 decimal places
print(rounded_pi)

## Using the sorted() function with a list parameter
unsorted_list = ['cherry', 'apple', 'banana']
sorted_list = sorted(unsorted_list)
print(sorted_list)

Guarde los cambios en el archivo (Ctrl+S).

Ahora, ejecute el script actualizado desde la terminal:

python ~/project/builtin_functions.py

La terminal mostrará la salida tanto del código original como del nuevo código.

Hello, Python Functions!
11
15
25
3.14
['apple', 'banana', 'cherry']

Revisemos la nueva salida:

  • max(10, 25, 15) toma tres números como parámetros y devuelve el mayor, 25.
  • round(pi_approx, 2) toma un número y la cantidad de decimales como parámetros. Devuelve el valor redondeado, 3.14.
  • sorted(unsorted_list) toma una lista como parámetro y devuelve una nueva lista con los elementos ordenados en orden ascendente.

En cada caso, almacenamos el valor de retorno de la función en una variable (largest_number, rounded_pi, sorted_list) antes de imprimirlo. Esta es una práctica común y útil.

Definir una Función Simple

Si bien las funciones integradas son potentes, a menudo necesitará crear sus propias funciones para realizar tareas personalizadas. Esto se denomina definir una función.

En Python, se define una función utilizando la palabra clave def. La sintaxis básica es:

def function_name(parameters):
    """Docstring: Una descripción opcional de la función."""
    ## Código a ejecutar (el cuerpo de la función)
    ## ...
    return value  ## Declaración de retorno opcional
  • def: La palabra clave que inicia una definición de función.
  • function_name: Un nombre descriptivo para su función.
  • (parameters): Variables de entrada para la función. Una función puede tener cero o más parámetros.
  • :: Los dos puntos marcan el final de la cabecera de la función.
  • Indentación (Indentation): Las líneas de código dentro de la función deben estar indentadas (generalmente con 4 espacios). Así es como Python agrupa las sentencias.

Creemos nuestra primera función. En el explorador de archivos del WebIDE, encuentre y abra el archivo my_functions.py.

Agregue el siguiente código a my_functions.py para definir una función que imprime un saludo:

## Define a simple function named 'greet'
def greet():
    """This function prints a simple greeting message."""
    print("Hello from a user-defined function!")

Guarde el archivo.

En este punto, ha definido con éxito una función llamada greet. Sin embargo, si ejecuta este script, no sucederá nada. Definir una función solo le dice a Python lo que hace la función; no ejecuta realmente el código que contiene. Para ejecutar el código de la función, necesita llamarla (invocarla), lo cual cubriremos en el siguiente paso.

Llamar a una Función Definida por el Usuario

Después de definir una función, necesita llamarla (o invocarla) para ejecutar su código. Llamar a una función es sencillo: simplemente escriba su nombre seguido de paréntesis ().

Llamemos a la función greet que definimos en el paso anterior.

Abra el archivo my_functions.py en el editor del WebIDE. Agregue una línea de código después de la definición de la función para llamarla.

## Define a simple function named 'greet'
def greet():
    """This function prints a simple greeting message."""
    print("Hello from a user-defined function!")

## Call the greet function to execute its code
print("Calling the function now...")
greet()

Guarde el archivo. Es importante que la llamada a la función greet() aparezca después del bloque def greet():. Python lee los archivos de arriba a abajo, por lo que debe definir una función antes de poder llamarla.

Ahora, ejecute el script desde la terminal:

python ~/project/my_functions.py

Verá la salida impresa en la consola:

Calling the function now...
Hello from a user-defined function!

La gran ventaja de las funciones es la reutilización. Puede llamar a la misma función varias veces sin reescribir su código. Llamemos a greet() de nuevo. Modifique my_functions.py para que se vea así:

## Define a simple function named 'greet'
def greet():
    """This function prints a simple greeting message."""
    print("Hello from a user-defined function!")

## Call the greet function multiple times
print("Calling the function...")
greet()
print("Calling it again...")
greet()

Guarde el archivo y ejecútelo una vez más:

python ~/project/my_functions.py

La salida ahora muestra que la función se ejecutó dos veces:

Calling the function...
Hello from a user-defined function!
Calling it again...
Hello from a user-defined function!

Esto demuestra cómo las funciones ayudan a escribir código más limpio, organizado y reutilizable.

Resumen

En este laboratorio, ha aprendido los fundamentos de las funciones en Python. Comenzó explorando las funciones integradas (built-in functions) de Python, como print(), len() y sum(), y practicó su invocación en un script. Luego profundizó en cómo funcionan las funciones pasando parámetros y utilizando sus valores de retorno con ejemplos como max(), round() y sorted().

Finalmente, aprendió la sintaxis para definir sus propias funciones personalizadas utilizando la palabra clave def y practicó la invocación de su función definida por el usuario para ejecutar su código. Este laboratorio le ha proporcionado una base sólida para crear código modular y reutilizable, una habilidad clave para cualquier programador de Python.