Speed of Nested Functions & Lambda Expressions
beginner
zyzhu2000 at gmail.com
Tue Oct 23 16:42:44 EDT 2007
More information about the Python-list mailing list
Tue Oct 23 16:42:44 EDT 2007
- Previous message (by thread): Speed of Nested Functions & Lambda Expressions
- Next message (by thread): Speed of Nested Functions & Lambda Expressions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Oct 23, 11:06 am, Gary Herron <gher... at islandtraining.com> wrote: > beginner wrote: > > Hi All, > > > It is really convenient to use nested functions and lambda > > expressions. What I'd like to know is if Python compiles fn_inner() > > only once and change the binding of v every time fn_outer() is called > > or if Python compile and generate a new function object every time. If > > it is the latter, will there be a huge performance hit? Would someone > > give some hint about how exactly Python does this internally? > > > def fn_outer(v): > > a=v*2 > > def fn_inner(): > > print "V:%d,%d" % (v,a) > > > fn_inner() > > > Thanks, > > Geoffrey > > The code is compiled only once when the file is initially read in. > During execution of fn_outer, v will be bound to a value, then a, then > fn_inner will be bound (to an already compiled code object) and so on. > > Really, from the point of view of Python while executing fn_outer, the > def of fn_inner looks just like an assignment with fn_inner as the > variable name and a code object as the value. > > Gary Herron- Hide quoted text - > > - Show quoted text - I see. Thanks Gary!
- Previous message (by thread): Speed of Nested Functions & Lambda Expressions
- Next message (by thread): Speed of Nested Functions & Lambda Expressions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list