CodeGym /Cursos /Python SELF ES /Devolviendo un valor

Devolviendo un valor

Python SELF ES
Nivel 6 , Lección 2
Disponible

8.1 Operador return

En Python, el operador return juega un papel central en las funciones, ya que permite que una función devuelva su valor. Comprender su uso es importante para un desarrollo de software efectivo.

El operador return termina la ejecución de una función y "devuelve" el resultado al código que la llamó. Si una función debe entregar un resultado que será utilizado más adelante, se utiliza return.

Devolución de un valor

Las funciones pueden devolver cualquier tipo de dato, incluyendo números, cadenas, objetos, incluso otras funciones y None. Ejemplo:


def sum(a, b):
    return a + b
        
result = sum(5, 3)
print(result)  # Muestra 8

El resultado de la suma a + b puede ser asignado a la variable result.

Devolución de múltiples valores

Python permite devolver múltiples valores desde una función utilizando tuplas:


def get_user():
    name = "Iván"
    age = 25
    return name, age
        
user_name, user_age = get_user()
print(user_name, user_age)  # Muestra Iván 25

Usar return para terminar una función

El operador return también puede ser utilizado para terminar inmediatamente una función, incluyendo ciclos o bloques condicionales dentro de la función:


def check_password(pswd):
    if len(pswd) < 8:
        return "Contraseña demasiado corta"
    return "Contraseña aceptada"

return sin valor

Si return se utiliza sin valor o se omite, la función devuelve None:


def print_message(text):
    print(text)
    return
        
result = print_message("Hola")
print(result)  # Muestra None

El operador return es una herramienta poderosa en Python, proporcionando flexibilidad en el manejo del flujo de ejecución del programa. Permite que las funciones no solo devuelvan valores para su uso posterior, sino también controlen la lógica de ejecución, lo que hace el código más limpio y fácil de entender.

8.2 Operador pass

En Python hay un operador especial — pass, que no hace nada. El operador pass se usa como un marcador de posición en bloques de código donde sintácticamente se requiere contenido, pero funcionalmente aún no está definido (debería haber algún código, pero aún no se ha pensado cuál).

Esto es especialmente útil en casos cuando estás trabajando en un proyecto grande y quieres estructurar el programa sin hacer que realice alguna operación. A continuación se muestran algunos ejemplos de uso de pass.

En definiciones de funciones:


def my_function():
    pass

Aquí pass se utiliza para definir una función que aún no tiene implementación.

En ciclos y condiciones:


for item in my_list:
    pass

Si necesitas crear un ciclo, pero no necesitas realizar ninguna acción en su cuerpo.

En clases:

Definición de una clase sin métodos y atributos, para reservar el nombre y la estructura de la clase para su uso futuro.

El operador pass se utiliza con frecuencia en el proceso de desarrollo y prueba, cuando la estructura del programa ya está clara, pero los detalles de implementación de los componentes individuales aún no están definidos. Esto permite al programador organizar el código y agregar funcionalidad de manera gradual sin interrumpir el funcionamiento general de la aplicación.

8.3 Devolución de funciones

En Python, la capacidad de una función para devolver otra función es una herramienta poderosa, gracias al soporte de clausuras* y funciones de primera clase. Esta característica del lenguaje permite desarrollar programas flexibles y expresivos, utilizando conceptos como decoradores* y fábricas de funciones*.

En Python, las funciones son objetos, lo que significa que pueden ser asignadas a variables, pasadas a otras funciones como argumentos o devueltas de ellas como resultados. Esta capacidad hace que las funciones sean herramientas excepcionalmente poderosas para crear código modular y fácilmente testeable.

Pongamos por caso que creamos una función que generará funciones para elevar a una potencia. Una función elevará al cuadrado, otra al cubo, etc. Así podría verse ese código:


def power(exponent):
    def inner(base):
        return base ** exponent
    return inner
        
square = power(2)
print(square(3))  # Muestra 9
        
cube = power(3)
print(cube(3))  # Muestra 27

Ten en cuenta que la función power no llama a la función inner. En lugar de ello, dentro de la función power se declara la función inner con el parámetro base. Pero la función inner no solo está declarada, sino que utiliza el parámetro exponent dentro de sí misma.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION