Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Devolución de valores Funciones y lógica en Python

En esta lección, exploraremos cómo hacer que nuestras funciones sean realmente útiles al devolver valores. Aprenderemos por qué imprimir en pantalla no es suficiente y cómo podemos utilizar return para aprovechar los resultados de nuestras funciones en otras partes del programa.

¿Por qué imprimir no es suficiente?

Imagina que definimos una función como esta:

def greeting():
    print('Hello, Códica!')

Si ejecutamos esta función, se imprimirá el mensaje en pantalla. Pero, ¿podemos usar este resultado más adelante en el código?

Veamos un ejemplo:

message = greeting()
print(message)  # => None

El problema aquí es que greeting() solo imprime el mensaje, pero no devuelve nada. Cuando intentamos asignar su "resultado" a una variable, lo único que obtenemos es None, un valor especial en Python que representa la ausencia de un resultado útil.

Uso de return para devolver datos

Para que el resultado de una función sea reutilizable, debemos usar la instrucción return. Modifiquemos nuestra función:

def greeting():
    return 'Hello, Códica!'

Ahora podemos guardar el resultado en una variable y usarlo posteriormente:

message = greeting()
print(message)  # => Hello, Códica!
print(message.upper())  # => HELLO, CÓDICA!

Con return, la función no solo genera un valor, sino que también nos permite manipularlo fuera de la función.

Cuidado con la ejecución después de return

Una vez que Python encuentra un return, la ejecución de la función se detiene inmediatamente. Por lo tanto, cualquier código después de return no se ejecutará:

def greeting_with_code_after_return():
    return 'Hello, Códica!'
    print('Nunca me ejecutaré')

print(greeting_with_code_after_return())  # => Hello, Códica!

Aquí, la línea print('Nunca me ejecutaré') nunca se ejecutará porque return detiene la función antes de llegar a ella.

Un caso práctico: Procesar un correo electrónico

📧 Supongamos que tenemos un sitio donde los usuarios ingresan su correo electrónico al registrarse. A veces, pueden escribirlo con espacios innecesarios o con mayúsculas y minúsculas mezcladas:

def save_email():
    # El correo electrónico proviene del formulario
    email = '  SuppORT@codica.LA'
    # Eliminamos los espacios en blanco
    trimmed_email = email.strip()
    # Convertimos a minúsculas
    prepared_email = trimmed_email.lower()
    return prepared_email  # Devolvemos el correo limpio

# Guardamos el resultado para su uso posterior
clean_email = save_email()
print(clean_email)  # => support@codica.la

Cómo funcionan strip() y lower()

Estos métodos no imprimen nada en pantalla, sino que devuelven nuevos valores. Así podemos almacenarlos en variables y usarlos después.

email = '  SuppORT@codica.LA'
email = email.strip()  # Eliminamos espacios
email = email.lower()  # Convertimos a minúsculas
print(email)  # => support@codica.la

Si estos métodos solo imprimieran en pantalla sin devolver nada, no podríamos procesar el dato correctamente.

Retornar expresiones

Podemos devolver directamente el resultado de una operación matemática sin necesidad de usar una variable intermedia:

def double_five():
    return 5 + 5

print(double_five())  # => 10

Si prefieres más claridad, puedes usar una variable antes del return:

def double_five():
    result = 5 + 5
    return result

print(double_five())  # => 10

Ambas versiones funcionan bien, pero elegir una u otra depende de la legibilidad del código.


Pregunta para reflexionar

🤔 ¿Qué valor devolverá la siguiente función?

def run():
    return 5
    return 10

print(run())  # ¿Qué se imprimirá?

Recuerda que solo se ejecuta el primer return, por lo que la función siempre devolverá 5.


Resumen

  • Usar print() solo muestra datos, pero no permite reutilizarlos.
  • return permite que una función devuelva un valor que se puede almacenar en una variable.
  • Cualquier código después de return no se ejecuta.
  • Los métodos como strip() y lower() devuelven datos en lugar de solo imprimirlos.
  • Podemos devolver valores estáticos, variables o expresiones.
  • Una función con múltiples return solo ejecutará el primero que encuentre.

Ahora que conoces la importancia de return, intenta aplicar este concepto en tus propias funciones. ¡Verás lo útil que es!

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY