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

पायथन में पुरानी शैली और नई शैली की कक्षाओं में क्या अंतर है?


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

"classic" style or old style classes have no built-in type as a base class:
>>> class OldSpam:      # no base class
...     pass
>>> OldSpam.__bases__
()

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

>>> class NewSpam(object):           # directly inherit from object
...    pass
>>> NewSpam.__bases__
(<type 'object'>,)
>>> class IntSpam(int):              # indirectly inherit from object...
...    pass
>>> IntSpam.__bases__
(<type 'int'>,)
>>> IntSpam.__bases__[0].__bases__   # ... because int inherits from object
(<type 'object'>,)

कक्षा लिखते समय हमेशा नई शैली की कक्षाओं के लिए जाना चाहेंगे। ऐसा करने के कई फायदे हैं, उनमें से कुछ को सूचीबद्ध करने के लिए -

वर्णनकर्ताओं के लिए समर्थन। विशेष रूप से, निम्नलिखित निर्माणों को वर्णनकर्ताओं के साथ संभव बनाया गया है -

>कक्षा पद्धति - एक विधि जो उदाहरण के बजाय कक्षा को एक निहित तर्क के रूप में प्राप्त करती है।

स्थिर विधि - एक विधि जो निहित तर्क स्वयं को पहले तर्क के रूप में प्राप्त नहीं करती है।

संपत्ति के साथ गुण:किसी विशेषता को प्राप्त करने, स्थापित करने और हटाने के प्रबंधन के लिए कार्य बनाएँ।

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


  1. सी # में कक्षा और वस्तु के बीच क्या अंतर है?

    जब आप किसी वर्ग को परिभाषित करते हैं, तो आप डेटा प्रकार के लिए एक खाका परिभाषित करते हैं। ऑब्जेक्ट एक वर्ग के उदाहरण हैं। एक वर्ग का गठन करने वाली विधियों और चरों को वर्ग के सदस्य कहा जाता है। कक्षा के सदस्यों तक पहुँचने के लिए, आप ऑब्जेक्ट नाम के बाद डॉट (.) ऑपरेटर का उपयोग करते हैं। डॉट ऑपरेटर क

  1. टिंकर के टीके और टॉपलेवल कक्षाओं में क्या अंतर है?

    Tk . को इनिशियलाइज़ करके टिंकर विंडो बनाई जाती है पहले वस्तु। यह किसी भी टिंकर एप्लिकेशन का न्यूनतम हिस्सा है, जो एप्लिकेशन को तुरंत चालू करने में मदद करता है। Tk एप्लिकेशन के बुनियादी बिल्डिंग ब्लॉक्स को बनाने में मदद करता है, जैसे कि एक एप्लिकेशन विंडो जहां सभी विजेट रखे जाते हैं। हालांकि, शीर्

  1. पायथन में tkinter और tkinter.ttk के विजेट में क्या अंतर है?

    tkinter.ttk एक मॉड्यूल है जिसका उपयोग टिंकर विजेट्स को स्टाइल करने के लिए किया जाता है। जैसे CSS का उपयोग HTML तत्व को स्टाइल करने के लिए किया जाता है, वैसे ही हम tkinter.ttk का उपयोग tkinter विजेट्स को स्टाइल करने के लिए करते हैं। यहां tkinter विजेट और tkinter.ttk . के बीच प्रमुख अंतर दिए गए हैं -