Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

क्या पाइथन में रिकर्सिव फ़ंक्शंस हर बार फ़ंक्शन कॉल करने पर एक नया नामस्थान बनाते हैं?

<शरीर>

हां, एक फ़ंक्शन कॉल (कोई फ़ंक्शन कॉल, न केवल पुनरावर्ती वाले) एक नया नामस्थान बनाता है। लेकिन, जब पैरामीटर के रूप में दिया जाता है, तो ऑब्जेक्ट संदर्भ द्वारा पारित किए जाते हैं।

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

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


  1. मैं पायथन में नेमस्पेस पैकेज कैसे बना सकता हूं?

    पायथन में, एक नेमस्पेस पैकेज आपको कई परियोजनाओं के बीच पायथन कोड फैलाने की अनुमति देता है। यह तब उपयोगी होता है जब आप संबंधित पुस्तकालयों को अलग-अलग डाउनलोड के रूप में जारी करना चाहते हैं। उदाहरण के लिए, PYTHONPATH में पैकेज-1 और पैकेज-2 निर्देशिकाओं के साथ, Package-1/namespace/__init__.py Package-1

  1. पायथन में नेमस्पेस क्या है?

    नेमस्पेस दायरे को लागू करने का एक तरीका है। पायथन में, प्रत्येक पैकेज, मॉड्यूल, क्लास, फंक्शन और मेथड फंक्शन में एक नेमस्पेस होता है जिसमें वेरिएबल नाम हल किए जाते हैं। जब किसी फ़ंक्शन, मॉड्यूल या पैकेज का मूल्यांकन किया जाता है (अर्थात, निष्पादन शुरू होता है), एक नाम स्थान बनाया जाता है। इसे मूल्या

  1. हम पायथन में पुनरावर्ती कार्य कैसे बना सकते हैं?

    रिकर्सन एक प्रोग्रामिंग विधि है, जिसमें कोई फ़ंक्शन अपने शरीर में एक या अधिक बार कॉल करता है। आमतौर पर, यह इस फ़ंक्शन कॉल का रिटर्न मान लौटा रहा है। यदि कोई फ़ंक्शन परिभाषा रिकर्सन का अनुसरण करती है, तो हम इस फ़ंक्शन को एक पुनरावर्ती फ़ंक्शन कहते हैं। एक पुनरावर्ती फ़ंक्शन को प्रोग्राम में उपयोग करन