Good question, my guess is that it has to do with the fact that object is a built-in/extension type.
>>> class test(object):
... pass
...
>>> test.test = 1
>>> object.test = 1
Traceback (most recent call last):
File "", line 1, in
TypeError: can't set attributes of built-in/extension type 'object'
IIRC, this has to do with the presence of a __dict__ attribute or, more correctly, setattr() blowing up when the object doesn't have a __dict__ attribute.