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