पायथन 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'>,)