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

Python क्लास ऑब्जेक्ट्स को कैसे इनहेरिट करती है?

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

'ओल्ड स्टाइल' या "क्लासिक" स्टाइल क्लासेस: उनका कोई बिल्ट-इन टाइप बेस क्लास के रूप में नहीं होता:

>>> class OldFoo:
    # कोई बेस क्लास नहीं
    pass
>>> OldFoo.__bases__
()

"न्यू" स्टाइल क्लासेस: उनका बिल्ट-इन टाइप बेस क्लास के रूप में होता है, अर्थात डायरेक्टली या इनडायरेक्टली, उनका object बेस क्लास के रूप में होता है:

>>> class NewFoo(object):
    # सीधे object से इनहेरिट
    pass
>>> NewFoo.__bases__
(<type 'object'>,)

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

यहां क्लास डिक्लेरेशन में क्लास नाम के बाद पैरेंथेसिस में object लिखने की कोई आवश्यकता नहीं है। यहां क्लासेस object से इम्प्लिसिटली इनहेरिट करती हैं।

>>> class Foo:
    # सीधे object से इनहेरिट
    pass
>>> Foo.__bases__
(<type 'object'>,)
  1. - Python में __init__ का उपयोग करके इंस्टेंस ऑब्जेक्ट्स कैसे बनाएं?

    इंस्टेंशिएशन या क्लास-ऑब्जेक्ट-कॉलिंग ऑपरेशन एक खाली ऑब्जेक्ट बनाता है। कई क्लासेस विशिष्ट प्रारंभिक स्थिति के साथ इंस्टेंस के साथ ऑब्जेक्ट बनाना पसंद करती हैं। इसलिए एक क्लास __init__() नामक एक स्पेशल मेथड डिफाइन कर सकती है, जैसा कि नीचे दिखाया गया है: def __init__(self): self.data = [] जब एक

  1. - पायथन में नेस्टेड कैरेक्टर क्लास सब्ट्रैक्शन कैसे काम करता है?

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

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

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