عبارات لامبدا ( Lambda expressions )

عبارات لامبدا در اصل توابع یک خطی هستند که در برخی از زبان ها به عنوان توابع بی نام شناخته می شوند. گاهی اوقات اتفاق می افتد که در برنامه نمی خواهید یک تابع را جهت انجام یک کار تعریف کنید. در این صورت می توان از عبارات لامبدا استفاده کرد. نحوه استفاده از لامبدا به صورت زیر است :

lambda parameter(s): expression

به کد زیر توجه کنید:

ShowMessage = lambda message: print(message);

ShowMessage("Hello World!");
Hello World!

لامبدا می تواند، هیچ پارامتری نگیرد:

ShowMessage = lambda : print("Hello World!");

ShowMessage();
Hello World!

هنگام فراخوانی متد باید تعداد آرگومان ها با تعداد پارامترها برابر باشد. مثلا برنامه زیر با خطا مواجه می شود:

ShowMessage = lambda message1, message2: print(message1, message2);

ShowMessage("Hello World!");

اگر یک عبارت لامبدا دارای دو یا تعداد بیشتری پارامتر باشد باید آنها را در داخل پرانتز قرار دهید:

mutilParameters= lambda param1, param2 : (param1, param2); 

به مثال زیر توجه کنید:

ShowMessage = lambda message: (print(message), print("Some more message"));

ShowMessage("Hello World!");
Hello World!
Some more message

عبارات لامبدا نمی توانند دارای کلمه return باشند. می توان گفت که دستورات لامبدا در حالت عادی برگردانده می شوند و نیازی به این کلمه نیست:

GetSquare = lambda number : number * number;

print(GetSquare(5));
25