subclass of object

Alf P. Steinbach alfps at
Fri Apr 2 08:34:28 EDT 2010

* Steve Holden:
> Alf P. Steinbach wrote:
>> * Jason Friedman:
>>> Hi, what is the difference between:
>>> def MyClass(object):
>>>     pass
>>> and
>>> def MyClass():
>>>     pass
>> If you really meant 'def', then the first is a routine taking one
>> argument, and the second is a routine of no arguments.
>> If you meant 'class' instead of 'def', then it depends on the Python
>> version.
>> In Py2 the first then defines a new-style class, while the second
>> defines an old-style class. E.g. you can see some difference by checking
>> with 'isinstance'. In Py3 there's no difference.
> Interesting. I actually read "class"  for "def" and replied accordingly.
> As can plainly be seen ...

Yes, the names act as comments about intent.

Such comments can be misleading about what the code actually does.

Since I think you're very interested in the human aspect of this I suggest you 
try to find information about how master chess players remember chess boards. As 
I recall, they find it really difficult to remember random boards, while boards 
that represent actual chess games are remembered at a glance. Indicating that 
what's remembered is at a much higher level of abstraction than piece positions.


- Alf

More information about the Python-list mailing list