"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन में नेस्टेड कार्यों और बंद होने के बीच क्या अंतर है

पायथन में नेस्टेड कार्यों और बंद होने के बीच क्या अंतर है

2025-05-01 पर पोस्ट किया गया
ब्राउज़ करें:943

] गैर-क्लोज़र्स

What\'s the Difference Between Nested Functions and Closures in Python?

पायथन में नेस्टेड फ़ंक्शंस को क्लोजर नहीं माना जाता है क्योंकि वे निम्नलिखित आवश्यकता को पूरा नहीं करते हैं:

वे उन चर को एक्सेस नहीं करते हैं जो संलग्न करने के लिए स्थानीय हैं जब संलग्न स्कोप के बाहर make_printer (msg): def प्रिंटर (): प्रिंट (एमएसजी) रिटर्न प्रिंटर

यहाँ, प्रिंटर फ़ंक्शन make_printer के भीतर एक नेस्टेड फ़ंक्शन है। यह एक बंद है क्योंकि यह Make_printer के लौटने के बाद स्थानीय चर संदेश का संदर्भ देता है। यह संदर्भ संलग्न गुंजाइश के बाहर होने के बाद भी बनाए रखा जाता है। डीईएफ प्रिंटर (msg = msg): प्रिंट (एमएसजी) वापसी प्रिंटर

इस मामले में, वैरिएबल MSG जब प्रिंटर बनाया जाता है तो डिफ़ॉल्ट मान के लिए बाध्य होता है, और यह अपने स्वयं के दायरे के बाहर किसी भी चर का संदर्भ नहीं देता है। इसलिए, यह एक बंद नहीं है। क्लोजर स्कोप को संलग्न करने की स्थिति को बनाए रखने के लिए उपयोगी हो सकता है, जबकि गैर-क्लोज़र नेस्टेड फ़ंक्शंस केवल एक लेक्सिकल स्कोप के भीतर कार्यक्षमता को एनकैप्सुलेट करते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3