Nested inner classes and inheritance -> namespace problem

Larry Hastings larry at
Thu Apr 14 05:40:57 CEST 2011

On 04/13/2011 07:37 PM, Eric Snow wrote:
> I suppose you could try something like this:
> class Outer:
>   global Inner
>   class Inner:
>     class Worker:
>       pass
>   class InnerSubclass(Inner):
>     class Worker(Inner.Worker):
>       pass
> However, that pollutes your global namespace.  If you are worried 
> about that you could try: [...]

It also means that Inner is not actually /in/ Outer, and the whole point 
was to have the class accessed as Outer.Inner.  But I can get what I 
wanted, if immediately after the definition of Outer I have:

    Outer.Inner = Inner
    del Inner

Thanks for the suggestion of "global Inner"!  That makes this approach 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list