Robert Kern wrote: > Neal Becker wrote: >> Arnaud Delobelle wrote: >> >>> Neal Becker <[EMAIL PROTECTED]> writes: >>> >>>> I noticed in some profiling, that it seems that: >>>> >>>> def Func (): >>>> def something(): >>>> ... >>>> >>>> It appears that if Func is called many times, this nested func >>>> definition will cause significant overhead. Is this true? I guess >>>> I've become accustomed to decent compilers performing reasonable >>>> transformations and so have tended to write code for clarity. >>> If something() can be defined outside Func(), how is it clearer to >>> define it inside? >> >> If it's only used inside. > > I, for one, find that significantly less clear. I only expect functions to > be defined inside of functions if they are going to use lexical scoping > for some reason. If I read your code, I'd probably waste a good five > minutes trying to figure out what part of the local scope you were using > before I would conclude that you just did it because you thought it looked > better. >
I'm using the inner function to prevent pollution of the global namespace. Local variables also have this attribute. Code is easier to understand when it is written with the greatest locality - so you can see immediately that the inner function isn't used somewhere else. -- http://mail.python.org/mailman/listinfo/python-list