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

पायथन में मॉड्यूल्स, क्लासेस और नेमस्पेस की तुलना कैसे करेंगे?


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

पायथन के पास परिभाषाओं को फ़ाइल में रखने और उन्हें स्क्रिप्ट या इंटरप्रेटर के इंटरैक्टिव इंस्टेंस में उपयोग करने का एक तरीका है। ऐसी फ़ाइल को मॉड्यूल कहा जाता है; मॉड्यूल से परिभाषाओं को अन्य मॉड्यूल्स या मेन मॉड्यूल में इम्पोर्ट किया जा सकता है। तो, एक पायथन मॉड्यूल पुन: प्रयोज्य कोड को एनकैप्सुलेट करने के लिए एक पैकेज के अलावा कुछ नहीं है। मॉड्यूल्स __init__.py फ़ाइल वाले फ़ोल्डर में रहते हैं। मॉड्यूल्स फ़ंक्शन्स रख सकते हैं लेकिन क्लासेस भी। मॉड्यूल्स को import कीवर्ड का उपयोग करके इम्पोर्ट किया जाता है।

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

  1. - पायथन मॉड्यूल्स: मॉड्यूल कैसे बनाएं

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

  1. - Python और C++ में नेमस्पेस की तुलना कैसे करेंगे?

    Python और C++ में नेमस्पेस की वास्तव में तुलना नहीं की जा सकती। उदाहरण के लिए, C++ में: // a.h namespace ns { struct A { .. }; struct B { .. }; } यदि हम यह करते: #include a.h using ns::A; उस कोड का उद्देश्य A को अनक्वालिफाइड लिखने में सक्षम होना है (यानी ns::A लिखे बिना)। अब, आप एक Python सम

  1. पायथन में नेमस्पेस और स्कोप पायथन में नेमस्पेस और स्कोप

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