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

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


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

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

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

  1. - पायथन में नेमस्पेस पैकेज कैसे बनाएं?

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

  1. - Python में Namespace क्या है?

    Python में Namespace Namespace Scope को Implement करने का एक तरीका है। Python में, प्रत्येक Package, Module, Class, Function और Method Function का अपना एक Namespace होता है जिसमें Variable Names Resolve होते हैं। जब कोई Function, Module या Package Evaluate होता है (यानी Execution शुरू होता है), तो

  1. - पायथन में रिकर्सिव फंक्शन्स कैसे बना सकते हैं?

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