अभी मैं इस सरल उदाहरण में जैसे कार्यों उत्पन्न करने के लिए बंद का उपयोग कर रहा:अजगर में बंद के बिना काम करता है उत्पन्न
def constant_function(constant):
def dummyfunction(t):
return constant
return dummyfunction
ये उत्पन्न कार्यों तो जो उन्हें संग्रहीत करता है एक कस्टम वर्ग के init-विधि के लिए पारित कर रहे हैं उदाहरण के रूप में विशेषताएँ। नुकसान यह है कि कक्षा-उदाहरणों को अचूक बनाता है। इसलिए मैं सोच रहा हूं कि बंद करने से बचने वाले फ़ंक्शन जेनरेटर बनाने का कोई तरीका है या नहीं।
class ConstantFunction(object):
def __init__(self, constant):
self.constant = constant
def __call__(self, t):
return self.constant
def constant_function(constant):
return ConstantFunction(constant)
अपने कार्य को बंद करने राज्य तो एक उदाहरण के लिए स्थानांतरित कर रहा है के बजाय विशेषता:
कॉल करने योग्य कक्षाएं एक विकल्प हो सकती हैं, हालांकि वे अपने स्वयं के चेतावनी और जटिलताओं के सेट के साथ आते हैं। –