In article <[EMAIL PROTECTED]>,
Duncan Booth <[EMAIL PROTECTED]> writes:
|> > 
|> > 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)
|> 
|> You cannot refer to weeble until it has been created which isn't until 
|> after all of the statements in the class body have executed. The usual way 
|> to achieve what you want is to assign the static member from outside the 
|> class.
|> 
|> class weeble:
|>     pass
|> 
|> weeble.wumpus = brinjal(weeble)

Thanks (and to Gabriel Genellina).  That is what I am doing, but it is
not ideal in other respects - for example, I want to make that item
read-only!  It would be much cleaner not to have to fiddle with static
members after the class is initialised.

|> Alternatively you can play tricks with metaclasses for a similar effect.

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 :-)

What I am trying to do is very simple, but is somewhat unusual.  That
is the story of my life, so I am used to having problems.


Regards,
Nick Maclaren.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to