[Tutor] class Knights vs class Knights(object)
Patrick Sabin
patrick.just4fun at gmail.com
Sat Nov 7 21:35:36 CET 2009
Wayne Werner wrote:
> and my question is what is the difference between the two? Is there a
> difference other than one is an object the other is an instance? I
> googled "python object vs. instance" and didn't find anything terribly
> useful.
Yes there is a difference. One class inherits from object, the other
doesn't. You may want to try to check this, e.g.:
issubclass(Knight, object)
So the first keyword you may want to google for is inheritance.
The second keyword is old/new-style classes.
Python 2 changed the way how classes work, but to be backward compatible
the old mechanism still remained. If you want new style classes inherit
from object.
If you want to understand the details you may want to look up what
metaclasses - your third keyword - are, old-style classes have the
metaclass classobj, new-style classes type. You can check this using the
builtin type-function.
Beware that this is python 2 stuff. In python 3 class X: and class
X(object): are the same.
- Patrick
More information about the Tutor
mailing list