MulaiMulai sekarang secara gratis

Closure menjaga nilai Anda tetap aman

Anda masih membantu keponakan Anda memahami closure. Anda telah menulis fungsi get_new_func() yang mengembalikan fungsi bertingkat. Fungsi bertingkat call_func() memanggil fungsi apa pun yang diteruskan ke get_new_func(). Anda juga telah menulis my_special_function() yang hanya mencetak pesan bahwa Anda sedang mengeksekusi my_special_function().

Anda ingin menunjukkan kepada keponakan Anda bahwa apa pun yang Anda lakukan pada my_special_function() setelah meneruskannya ke get_new_func(), fungsi baru tersebut tetap meniru perilaku my_special_function() asli karena berada di dalam closure milik fungsi baru itu.

Latihan ini adalah bagian dari kursus

Menulis Function di Python

Lihat Kursus

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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()
Edit dan Jalankan Kode