Dale Strickland-Clark wrote: > Python 2.4.2 (#1, Oct 13 2006, 17:11:24) > [GCC 4.1.0 (SUSE Linux)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> a = object() >>>> a > <object object at 0xb7bbd438> >>>> a.spam = 1 > Traceback (most recent call last): > File "<stdin>", line 1, in ? > AttributeError: 'object' object has no attribute 'spam' >>>> class b(object): > ... pass > ... >>>> a = b() >>>> a > <__main__.b object at 0xb7b4dcac> >>>> a.spam = 1 >>>> > > What is subclassing adding to the class here? Why can't I assign to > attributes of an instance of object?
Python sooooo dynamic, but it lacks a (builtin) X-class ready for ad-hoc usage just like dict() :-) I have in almost every app/toolcore-module this one: ------ class X(object): def __init__(self,_d={},**kwargs): kwargs.update(_d) self.__dict__=kwargs class Y(X): def __repr__(self): return '<Y:%s>'%self.__dict__ ------ x=X(spam=1) Maybe X should be renamed to __builtin__.Object ... Robert -- http://mail.python.org/mailman/listinfo/python-list