ÎncepețiÎncepe gratuit

Closure-urile îți păstrează valorile în siguranță

Continui să o ajuți pe nepoata ta să înțeleagă closure-urile. Ai scris funcția get_new_func(), care returnează o funcție imbricată. Funcția imbricată call_func() apelează orice funcție a fost transmisă lui get_new_func(). Ai scris de asemenea my_special_function(), care afișează pur și simplu un mesaj ce indică faptul că se execută my_special_function().

Vrei să îi arăți nepoatei tale că, indiferent ce faci cu my_special_function() după ce o transmiți lui get_new_func(), noua funcție reproduce în continuare comportamentul originalului my_special_function(), deoarece acesta face parte din closure-ul noii funcții.

Acest exercițiu face parte din cursul

Scrierea funcțiilor în Python

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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()
Editează și rulează codul