Nick Maclaren wrote: > I am defining a class, and I need to refer to that class when > setting up its static data - don't ask - like this: > > Class weeble : > wumpus = brinjal(weeble)
Duncan Booth wrote: > Alternatively you can play tricks with metaclasses for a similar effect. Nick Maclaren wrote: > Well, I am already doing that, and regretting the fact that Python > doesn't seem to allow a class instantiation to return a new class :-) How are you doing it currently? Here's a sort of minimalist option: >>> class weeble(object): ... def __metaclass__(name, bases, bodydict): ... cls = type(name, bases, bodydict) ... cls.wumpus = 'brinjal', cls ... return cls ... >>> weeble.wumpus ('brinjal', <class '__main__.weeble'>) Of course, it still takes four lines and a metaclass... STeVe -- http://mail.python.org/mailman/listinfo/python-list