I just realized that:
class A(object): pass a = A() a.x = 'whatever' Works (does not raise an error and creates a new x member).
But this:
a = object() a.x = 'whatever' Raises:
AttributeError: 'object' object has no attribute 'x' While I probably would never use this in real production code, I'm a bit curious about what the reason is for the different behaviors.
Any hints ?