ComenzarEmpieza gratis

Los cierres mantienen a salvo tus valores

Sigues ayudando a tu sobrina a comprender los cierres. Has escrito la función get_new_func() que devuelve una función anidada. La función anidada call_func() llama a la función que se haya pasado a get_new_func(). También has escrito my_special_function() que simplemente imprime un mensaje que indica que estás ejecutando my_special_function().

Quieres mostrarle a tu sobrina que, independientemente de lo que le hagas a my_special_function() después de pasársela a get_new_func(), la nueva función sigue imitando el comportamiento de la original my_special_function() porque está en el cierre de la nueva función.

Este ejercicio forma parte del curso

Escribir funciones en Python

Ver curso

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

def my_special_function():
  print('You are running my_special_function()')
  
def get_new_func(func):
  def call_func():
    func()
  return call_func

new_func = get_new_func(my_special_function)

# Redefine my_special_function() to just print "hello"
def my_special_function():
  ____

new_func()
Editar y ejecutar código