X class missing in Python :-) - Re: What's going on here?

robert no-spam at no-spam-no-spam.invalid
Wed Nov 22 15:41:39 EST 2006


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



More information about the Python-list mailing list