تفاوت اصلی بین lambda و def
شاید بگید lambda نباز ب return نداره
یا بگید lamdba فقط ی عبارت رو محاسبه میکنه (بعضیا میگن ی خطیه)
ولی اگه بخوایم ی جواب مهندسی شده بدیم باید بگیم توابع تعریف شده توسط lambda به صورت single-expression هستن.
درواقع اینترپتر اونهارو ب عنوان یک expression میشناسه ولی توابعی ک با def تعریف میشن ب صورت ی block توی گرامرهای اینترپرتر شناسایی میشن.مثلا:
>>> (lambda x, y: x + y)(5, 3)
ک این کار رو نمیتونیم با def انجام بدیم
اگر خوب دقت کرده باشید اون تابعی هیچ جایی رو توی رم مصرف نکرد چون garbage collector خیلی سریع فضاشو ازاد میکنه
ولی اگه از def استفاده میکردیم فضای اشغال شده تا اخر میموند
@rasperry_python