शुरू करेंमुफ़्त में शुरू करें

क्लोज़र आपकी वैल्यूज़ को सुरक्षित रखते हैं

आप अभी भी अपनी भांजी/भतीजी को क्लोज़र समझने में मदद कर रहे हैं। आपने get_new_func() नाम का फंक्शन लिखा है जो एक नेस्टेड फंक्शन लौटाता है। नेस्टेड फंक्शन call_func() उस किसी भी फंक्शन को कॉल करता है जिसे get_new_func() को पास किया गया था। आपने my_special_function() भी लिखा है जो बस एक संदेश प्रिंट करता है कि आप my_special_function() चला रहे हैं।

आप उसे दिखाना चाहते हैं कि get_new_func() को पास करने के बाद आप my_special_function() के साथ चाहे जो भी करें, नई फंक्शन के क्लोज़र में होने के कारण नया फंक्शन अब भी मूल my_special_function() जैसा ही व्यवहार करता है।

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Functions लिखना

पाठ्यक्रम देखें

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

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()
कोड संपादित करें और चलाएँ