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

बहु-विरासत पायथन कक्षाओं में वर्ग चर कैसे कार्य करता है?


पायथन में एक से अधिक आधार वर्गों से एक वर्ग प्राप्त किया जा सकता है। इसे एकाधिक वंशानुक्रम कहा जाता है।

मल्टीपल इनहेरिटेंस में, सभी बेस क्लास की विशेषताएं व्युत्पन्न क्लास में इनहेरिट की जाती हैं। एकाधिक वंशानुक्रम के लिए वाक्य रचना एकल वंशानुक्रम के समान है।

class Super1:
    pass
class Super2:
    pass
class MultiDerived(Super1, Super2):
   pass

एकाधिक वंशानुक्रम परिदृश्य में, किसी भी निर्दिष्ट विशेषता को पहले वर्तमान वर्ग में खोजा जाता है। यदि नहीं मिला, तो एक ही कक्षा को दो बार खोजे बिना पैरेंट कक्षाओं में गहराई-पहले, बाएँ-दाएँ फ़ैशन में खोज जारी है।

तो, MultiDerived वर्ग के उपरोक्त उदाहरण में खोज क्रम [MultiDerived, Super1, Super2, object] है। इस ऑर्डर को मल्टीडिराइव्ड क्लास का रेखीयकरण भी कहा जाता है और इस ऑर्डर को खोजने के लिए इस्तेमाल किए गए नियमों के सेट को मेथड रेजोल्यूशन ऑर्डर (एमआरओ) कहा जाता है।

एमआरओ यह सुनिश्चित करता है कि एक क्लास हमेशा अपने माता-पिता के सामने आए और कई माता-पिता के मामले में, ऑर्डर बेस क्लास के टपल के समान हो।

किसी वर्ग के MRO को __mro__ विशेषता या mro() विधि के रूप में देखा जा सकता है। पूर्व एक टपल देता है जबकि बाद वाला एक सूची देता है।

>>> MultiDerived.mro()
[<class '__main__.MultiDerived'>,
 <class '__main__.Super1'>,
 <class '__main__.Super2'>,
 <class 'object'>]

  1. पायथन में कक्षाओं को कैसे परिभाषित करें?

    पायथन में, लगभग सभी कोड कक्षाओं का उपयोग करके कार्यान्वित किए जाते हैं। कोड के संबंधित टुकड़ों को एक साथ रखने के लिए प्रोग्रामर कक्षाओं का उपयोग करते हैं। यह कीवर्ड क्लास का उपयोग करके किया जाता है, जो ऑब्जेक्ट-ओरिएंटेड कंस्ट्रक्शन का एक संग्रह है। एक वर्ग वस्तुओं को बनाने के लिए एक टेम्पलेट है। ऑब

  1. पाइथन में नेस्टेड कैरेक्टर क्लास घटाव कैसे काम करता है?

    नेस्टेड वर्ण वर्ग घटाव चूंकि हम घटाए गए वर्ण वर्ग के भीतर पूर्ण वर्ण वर्ग सिंटैक्स का उपयोग कर सकते हैं, हम घटाए जा रहे वर्ग से एक वर्ग घटा सकते हैं। [0-9-[0-7-[0-3]]] पहले 0-7 से 0-3 घटाते हैं, जो [0-9-[4-7]], या [0-38-9] प्राप्त करते हैं, जो 012389 स्ट्रिंग में किसी भी वर्ण से मेल खाता है। वर्ग

  1. पाइथन मॉड्यूल में वैरिएबल स्कोप कैसे काम करता है?

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