The two primary differences between using def and using lambda is that lambda is limited to a single expression and def cannot be used within another function.
Basically, use lambda when you need to define a small function within another function. I've also used it to create 'shortcut' functions as: bar = lambda a, b: object1.object2.function1( a ).function2( b ) foo = bar( somevalue1, somevalue2 ) It can save you a lot of typing if used wisely, and makes your code smaller and neater too :) On a real world example: import random roll_die = lambda sides=6: random.choice( range(1,sides+1) ) # roll dies with 4, 6, and 20 sides print roll_die(4), roll_die(), roll_die(20) Have fun with your lambdas. greb [EMAIL PROTECTED] wrote: > Hey there, > i have been learning python for the past few months, but i can seem to > get what exactly a lamda is for. What would i use a lamda for that i > could not or would not use a def for ? Is there a notable difference ? > I only ask because i see it in code samples on the internet and in > books. > > thanks for any clarity > > sk -- http://mail.python.org/mailman/listinfo/python-list