Začněte nyníZačněte zdarma

Uzávěry chrání tvoje hodnoty

Stále pomáháš své neteři pochopit uzávěry. Napsal/a jsi funkci get_new_func(), která vrací vnořenou funkci. Vnořená funkce call_func() zavolá jakoukoli funkci, která byla předána do get_new_func(). Napsal/a jsi také funkci my_special_function(), která jednoduše vypíše zprávu oznamující, že se právě vykonává my_special_function().

Chceš své neteři ukázat, že bez ohledu na to, co s my_special_function() uděláš poté, co ji předáš do get_new_func(), nová funkce stále napodobuje chování původní my_special_function() — protože ta je součástí uzávěru nové funkce.

Toto cvičení je součástí kurzu

Writing Functions in Python

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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()
Upravit a spustit kód