Saltar al contenido

Closures

Python · Unidad 21: Python avanzado

Dentro de una función puedes definir otra función. La de adentro solo existe mientras corre la de afuera, y puede usar sus variables sin recibirlas.

def saludo(nombre):
    def cortes():
        return "Hola, " + nombre
    return cortes()

print(saludo("Ana"))

Imprime

Hola, Ana

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Opción múltiple

    Después de este código escribes print(mitad()). ¿Qué pasa?

  3. 3. Predice la salida

    ¿Qué imprime este código?

  4. 4. Completa el código

    Completa para que repetir(2) entregue una función que repite el texto dos veces.

  5. 5. Encuentra el bug

    Debería imprimir 15, porque sumador(10) entrega una función que suma 10. ¿Qué línea tiene el error?

  6. 6. Predice la salida

    ¿Qué imprime este código?

  7. 7. Completa el código

    Completa para que la bolsa vaya sumando lo que le metes.

  8. 8. Ordena las líneas

    Ordena para armar una cuenta atrás que baja de uno en uno cada vez que la llamas.

  9. 9. Predice la salida

    Recuerda que key recibe una función que dice con qué comparar.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →