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

Python में ओल्ड स्टाइल और न्यू स्टाइल क्लास में क्या अंतर है?

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

"क्लासिक" स्टाइल या ओल्ड स्टाइल क्लासेस का कोई बिल्ट-इन टाइप बेस क्लास के रूप में नहीं होता:
>>> class OldSpam:
    # कोई बेस क्लास नहीं
    pass
>>> OldSpam.__bases__
()

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

>>> class NewSpam(object):
    # सीधे object से इनहेरिट
    pass
>>> NewSpam.__bases__
(<type 'object'>,)
>>> class IntSpam(int):
    # इनडायरेक्टली object से इनहेरिट...
    pass
>>> IntSpam.__bases__
(<type 'int'>,)
>>> IntSpam.__bases__[0].__bases__
# ... क्योंकि int object से इनहेरिट करता है
(<type 'object'>,)

क्लास लिखते समय हमेशा न्यू-स्टाइल क्लासेस के लिए जाना चाहिए। ऐसा करने के फायदे कई हैं, उनमें से कुछ:

  • क्लासमेथड - एक मेथड जो इंस्टेंस के बजाय क्लास को इम्प्लिसिट आर्गुमेंट के रूप में प्राप्त करता है।
  • स्टैटिकमेथड - एक मेथड जो पहले आर्गुमेंट के रूप में इम्प्लिसिट आर्गुमेंट self प्राप्त नहीं करता।
  • प्रॉपर्टीज़ property के साथ: एट्रिब्यूट को प्राप्त करने, सेट करने और डिलीट करने के लिए फंक्शन बनाएं।

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

  1. - C# में क्लास और ऑब्जेक्ट के बीच अंतर

    जब आप एक क्लास डिफाइन करते हैं, तो आप एक डेटा टाइप के लिए ब्लूप्रिंट डिफाइन करते हैं। ऑब्जेक्ट्स क्लास के इंस्टेंसेस हैं। मेथड्स और वेरिएबल्स जो एक क्लास का गठन करते हैं, उन्हें क्लास के मेंबर्स कहा जाता है। क्लास मेंबर्स तक पहुंचने के लिए, आप ऑब्जेक्ट नाम के बाद डॉट (.) ऑपरेटर का उपयोग करते हैं। डॉ

  1. Tkinter के Tk और Toplevel क्लासेस में क्या अंतर है? Tkinter के Tk और Toplevel क्लासेस में क्या अंतर है?

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

  1. Python में Tkinter और Tkinter.ttk के विजेट्स में क्या अंतर है? Python में Tkinter और Tkinter.ttk के विजेट्स में क्या अंतर है?

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