- ¿Por qué imprimir no es suficiente?
- Uso de return para devolver datos
- Un caso práctico: Procesar un correo electrónico
- Retornar expresiones
- Pregunta para reflexionar
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. returnpermite que una función devuelva un valor que se puede almacenar en una variable.- Cualquier código después de
returnno se ejecuta. - Los métodos como
strip()ylower()devuelven datos en lugar de solo imprimirlos. - Podemos devolver valores estáticos, variables o expresiones.
- Una función con múltiples
returnsolo 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.