In Python, what is the base class for all other classes (real Base), that all other classes inherit from?
            Asked
            
        
        
            Active
            
        
            Viewed 493 times
        
    2 Answers
4
            All new style classes inherit from object.
New-style classes were introduced in Python 2.2 to unify classes and types. Here there is a nice description of what a new style class is. – Paolo Moretti
 
    
    
        Jakob Bowyer
        
- 33,878
- 8
- 76
- 91
- 
                    1New-style classes were introduced in Python 2.2 to unify classes and types. [Here](http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html) there is a nice description of what a new style class is. – Paolo Moretti Aug 12 '11 at 15:51
1
            
            
        It is object. At least in 2.7 and 3.1.
>>> class A():
...     pass
... 
>>> isinstance(A, object)
True
 
    
    
        utdemir
        
- 26,532
- 10
- 62
- 81
- 
                    this surprised me.. how, then, is a `class B(object): pass` different from class A? I get `<__main__.A instance at ...>` and `<__main__.B object at ...>` ! – wim Aug 12 '11 at 15:48
- 
                    It's a compatibility workaround because new-style classes were introduced in the middle of Python 2 and they couldn't break the old functionality. In Python 3 you no longer need to include the explicit `object inheritance. – Katriel Aug 12 '11 at 15:57
- 
                    On Python2, if you inherit from object, you create a new style class. On Python3, all classes are new style( https://gist.github.com/d2ded62e5f885d61ff75 ). And look at http://stackoverflow.com/questions/54867/ for differences between old and new style classes. – utdemir Aug 12 '11 at 16:04
- 
                    2eeeish, what an ugly wrinkle! then again, i guess pythons do have vestigial legs inside their bodies.. – wim Aug 12 '11 at 16:12
- 
                    
