পাইথন 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'>,)