Bengt Richter wrote: >>Ahem. If you name the function, you can reuse the name (or just forget about >>it) >>as soon as you've used the function object. >> >>If you don't want to reuse the name because you might want to reuse the >>function >>object, you have to name it anyway. >> > Are you forgetting that all bindings are not directly name bindings as > created by def? ;-) > (See also various tkinter-related uses). > > >>> funs = [lambda:'one', lambda:'two', lambda:'three']
now you've used the function objects once each. > >>> for use in xrange(2): > ... for i in xrange(3): > ... print '%susing fun[%s] => %r' %('re'*(use>0), i, funs[i]()) and now you're using the data structure you built... at this point, it doesnt matter if the functions had distinct names to start with. (coming up with a contrived example where it matters is trivial, of course, but by then, we've moved into "whitespace" or "static typing leads to more reliable code" country) </F> -- http://mail.python.org/mailman/listinfo/python-list