nested classes

Chris Rebert clp2 at
Fri Mar 20 19:41:36 CET 2009

2009/3/20 Benjamin Kaplan <bsk16 at>:
> On Fri, Mar 20, 2009 at 10:06 AM, Esmail <ebonak at> wrote:
>> Hello all,
>> I am curious why nested classes don't seem to be used much in Python.
>> I see them as a great way to encapsulate related information, which is
>> a
>> good thing.
>> In my other post "improve this newbie code/nested functions in
>> Python?"
>> (I accidentally referred to nested functions rather nested classes -
>> it was late)
>> I asked something similar in the context of a specific example where I
>> think the
>> use of nested classes makes sense.
>> But perhaps not?
> Nested classes in Python don't add much other than an additional level of
> complexity (and an extra hash lookup). Behavior in python is usually grouped
> into modules, not into classes. The only reason to nest a class in Python is
> if the first class is going to generate the second class on the fly.

Verily. See also the principle that "Flat is better than nested" from
the Zen of Python (
The OP would be better off naming internal classes with leading
underscores per Python convention rather than nesting them inside
other classes.


I have a blog:

More information about the Python-list mailing list