Funciones en Python: declaración, argumentos, retorno y variables globales

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Fundamentos de las funciones en Python

Las funciones son la base de cualquier programa en Python. Permiten estructurar el código, evitar la repetición y crear soluciones modulares y reutilizables.

Tanto principiantes como desarrolladores experimentados se enfrentan a preguntas clave al trabajar con funciones en Python. ¿Cómo pasar argumentos correctamente? ¿Qué son las variables globales y cómo usarlas? ¿Para qué sirven los decoradores y cómo emplear global? ¿Cómo retornar múltiples valores desde una función?

Definición y sintaxis de las funciones en Python

¿Qué es una función en Python?

Una función es un bloque de código con nombre que se puede invocar varias veces. En Python, las funciones se crean con la palabra clave def.

Declaración e invocación de funciones

La declaración de una función se realiza de la siguiente manera:

def saludar():
    print("¡Hola, mundo!")

La función se invoca por su nombre:

saludar()

Las funciones en Python pueden contener instrucciones, condicionales, bucles y otras construcciones del lenguaje. Definir funciones correctamente ayuda a crear código legible y bien estructurado.

Argumentos de funciones en Python

Argumentos posicionales

Los argumentos posicionales se pasan a la función en el mismo orden en que se definen:

def saludar(nombre):
    print(f"¡Hola, {nombre}!")

saludar("Ana")

Al usar argumentos posicionales, es importante respetar el orden correcto de los parámetros.

Argumentos por defecto

Los argumentos por defecto permiten asignar valores a los parámetros que se usarán si no se pasa el argumento:

def saludar(nombre="Invitado"):
    print(f"¡Hola, {nombre}!")

saludar()  # ¡Hola, Invitado!

Usar argumentos por defecto aumenta la flexibilidad de las funciones y reduce la cantidad de parámetros obligatorios.

Argumentos con palabra clave

Los argumentos con palabra clave se pasan indicando el nombre del parámetro:

def pedido(articulo, cantidad):
    print(f"Has pedido {cantidad} {articulo}")

pedido(articulo="pizza", cantidad=2)

Los argumentos con palabra clave hacen el código más legible y permiten pasar los parámetros en cualquier orden.

Cantidad variable de argumentos

Python admite pasar un número indefinido de argumentos mediante *args y **kwargs:

def sumatoria(*args):
    print(sum(args))

sumatoria(1, 2, 3, 4)  # 10

def mostrar_info(**kwargs):
    for clave, valor in kwargs.items():
        print(f"{clave}: {valor}")

mostrar_info(nombre="Juan", edad=30)

La construcción *args acepta cualquier cantidad de argumentos posicionales. La construcción **kwargs acepta cualquier cantidad de argumentos con palabra clave.

Retorno de valores desde funciones en Python

Fundamentos de la sentencia return

Las funciones pueden devolver resultados mediante la sentencia return. Esto permite usar el resultado de la función en otras partes del programa:

def sumar(a, b):
    return a + b

resultado = sumar(5, 3)
print(resultado)  # 8

La sentencia return finaliza la ejecución de la función y devuelve el control al lugar desde donde se llamó.

Retorno de múltiples valores

Python permite devolver varios valores a la vez:

def obtener_coordenadas():
    return 10, 20

x, y = obtener_coordenadas()

Técnicamente, Python devuelve una tupla que luego se puede desempaquetar en variables individuales. Esta es una forma práctica de obtener múltiples resultados de una sola función.

Particularidades del uso de return

Si una función no contiene la sentencia return, automáticamente devuelve None. Es importante tener esto en cuenta al diseñar funciones que deben proporcionar un valor específico.

Blogs

Book Recommendations