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

Pruebe este ejercicio completando este 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