First page Back Continue Last page Overview Graphics

Old-Style vs. New Style Classes

Python 2:

>>> class X(): pass

...

>>> x = X()

>>> type(x)

<type 'instance'>

>>> x.__class__

<class __main__.X at

0xb743144c>

>>> class X(object):

>>> pass

...

>>> x = X()

>>> type(x)

<class '__main__.X'>

>>> x.__class__

<class '__main__.X'>

Python 3:

>>> class X(): pass

...

>>> x = X()

>>> type(x)

<class '__main__.X'>

>>>

>>> x.__class__

<class '__main__.X'>

>>> class X(object):

>>> pass

...

>>> type(x)

<class '__main__.X'>

>>> x.__class__

<class '__main__.X'>

Old-style

class

New-style

class

Python 3 only knows

New Style Classes