Kapanımlar değerlerini güvende tutar
Yeğenine kapanımları (closure) anlatmaya devam ediyorsun. İç içe bir fonksiyon döndüren get_new_func() fonksiyonunu yazdın. İçteki call_func() fonksiyonu, get_new_func()'a hangi fonksiyon iletilmişse onu çağırıyor. Ayrıca, yalnızca my_special_function() çalıştırıldığını belirten bir mesaj yazdıran my_special_function() fonksiyonunu da yazdın.
Yeğenine şunu göstermek istiyorsun: my_special_function()'ı get_new_func()'a gönderdikten sonra ona ne yaparsan yap, yeni fonksiyonun kapanımı içinde olduğu için, yeni fonksiyon hâlâ orijinal my_special_function()'ın davranışını taklit eder.
Bu egzersiz
Python'da Fonksiyon Yazımı
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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()