I've got an interesting problem with my class hierarchy. I have an outer class, in which two nested classes are defined:
class Outer: class Parent: def __init__ (self): print "parent!" class Child(Parent): def __init__ (self): Outer.Parent.__init__(self) foo = Child() Note that the second nested class (Outer.Child) inherits from the first nested class (Outer.Parent). When I run the above code, python reports a name error: Traceback (most recent call last): File "./temp.py", line 3, in ? class Outer: File "./temp.py", line 13, in Outer foo = Child() File "./temp.py", line 11, in __init__ Outer.Parent.__init__(self) NameError: global name 'Outer' is not defined Apparently, python doesn't like having an instance of a derived nested class present in the outer class. Interestingly enough, if I change the foo variable to an instance of the parent class: foo = Parent() everything is hunky-dory. Is there some syntax rule I'm breaking here? Thanks! --Steve -- http://mail.python.org/mailman/listinfo/python-list