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

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


पायथन 2.x में बेस-क्लास के रूप में बिल्ट-इन टाइप की उपस्थिति या अनुपस्थिति के आधार पर कक्षाओं की दो शैलियाँ हैं -

'पुरानी शैली' या "क्लासिक" शैली वर्ग:उनके पास आधार वर्ग के रूप में कोई अंतर्निहित प्रकार नहीं है -

>>> class OldFoo:      # no base class
...     pass
>>> OldFoo.__bases__
()

"नई" शैली वर्ग:उनके पास आधार वर्ग के रूप में एक अंतर्निहित प्रकार है जिसका अर्थ है कि, प्रत्यक्ष या परोक्ष रूप से, उनके पास आधार वर्ग के रूप में वस्तु है -

>>> class NewFoo(object):           # directly inherit from object
...    pass
>>> NewFoo.__bases__
(<type 'object'>,)

पायथन 3.x में हालांकि, केवल नए स्टाइल क्लासेस की अनुमति है, जिनमें बेस-क्लास के रूप में बिल्ट-इन टाइप है -

वर्ग घोषणा में वर्ग के नाम के बाद कोष्ठक में वस्तु का उल्लेख करने की कोई आवश्यकता नहीं है। यहां कक्षाएं वस्तु से परोक्ष रूप से विरासत में मिलती हैं।

 >>> class Foo:           # directly inherit from object
...    pass
>>> Foo.__bases__
(<type 'object'>,)

  1. पायथन में __init__ का उपयोग करके इंस्टेंस ऑब्जेक्ट कैसे बनाएं?

    इंस्टेंटेशन या कॉलिंग-ए-क्लास-ऑब्जेक्ट ऑपरेशन एक खाली वस्तु बनाता है। कई वर्ग विशिष्ट प्रारंभिक अवस्था वाले उदाहरणों के साथ ऑब्जेक्ट बनाना पसंद करते हैं। इसलिए एक वर्ग __init__() नामक एक विशेष विधि को निम्नानुसार परिभाषित कर सकता है - def __init__(self) − स्वयं डेटा =[ ] जब कोई वर्ग __init__() विधि

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

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

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

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