Trong Python 2.x có hai kiểu lớp tùy thuộc vào sự hiện diện hay vắng mặt của kiểu tích hợp sẵn là lớp cơ sở -
Các lớp kiểu‘Kiểu cũ’ hoặc "Cổ điển":chúng không có kiểu tích hợp làm lớp cơ sở -
>>> class OldFoo: # no base class ... pass >>> OldFoo.__bases__ ()
Các lớp kiểu "mới":chúng có một kiểu tích hợp làm lớp cơ sở có nghĩa là, trực tiếp hoặc gián tiếp, chúng có đối tượng là lớp cơ sở -
>>> class NewFoo(object): # directly inherit from object ... pass >>> NewFoo.__bases__ (<type 'object'>,)
Trong Python 3.x, chỉ cho phép các lớp kiểu mới có kiểu tích hợp làm lớp cơ sở -
Không cần đề cập đến đối tượng trong dấu ngoặc đơn sau tên lớp ở đây khi khai báo lớp. Ở đây các lớp kế thừa hoàn toàn từ đối tượng.
>>> class Foo: # directly inherit from object ... pass >>> Foo.__bases__ (<type 'object'>,)