Jason Mobarak wrote: > What's wrong with: > > def blah(): > def _ (a, b, c): > a = a + 2 > print "stmt 2" > return a+b/c > return doSomethingWith(_) > > It's basically "anonymous", it just uses a name that you don't care > about. AFAIK, it can be immediately clobbered later if need be. > Otherwise, the function shouldn't be anonymous.
Or even better: def blah(): def doJasonsAlgorithm(a, b, c): a = a + 2 print "stmt 2" return a+b/c return doSomethingWith(doJasonsAlgorithm) That way you've got reasonably self-documenting code, and don't have to face an annoyed maintainer saying "what a jerk: he didn't comment this or even give it a useful name... idiot... grumble grumble." I doubt there's a valid usecase for a "anonymous" function that has more than a line or two. Personally, I don't think there's a good usecase for an anonymous function longer than one line... -Peter -- http://mail.python.org/mailman/listinfo/python-list