Python Lambda
تابع لامدا یک تابع کوچک ناشناس است (small anonymous function) .
تابع لامدا میتواند هر تعداد آرگومان را داشته باشد ولی تنها یک عبارت جهت اجرا میتواند داشته باشد.
نوشتار
lambda arguments : expression
عبارت (expression) اجرا و نتیجه برگردانده میشود. در کد زیر عدد 10 به آرگومان a
اضافه و نتیجه برگردانده میشود.
همانطور که در ابتدا گفته شد، تابع لامدا میتواند هر تعداد دلخواه و مورد نیاز از آرگومانها را داشته باشد. در کد زیر آرگومان a
در آرگومان b
ضرب شده و نتیجه برگردانده میشود.
چرا از تابع لامدا استفاده کنیم؟
قدرت لامدا زمانی بهتر مشخص میشود که به عنوان یک تابع ناشناس داخل یک تابع دیگر استفاده شود.
فرض کنید تابعی دارید که یک آرگومان را قبول میکند، و آن آرگومان در یک عدد نامعلوم ضرب میشود:
def myfunc(n):
return lambda a : a * n
الان میتوانیم از تابع تعریف شده استفاده و تابعی بسازیم که همیشه عدد فرستاده شده به آن را دو برابر میکند.
یا از همان تابع تعریف شده استفاده و تابعی بسازیم که عدد فرستاده شده به آن را همیشه 3 برابر میکند.
یا از همان تابع تعریف شده استفاده و در یک برنامه هر دو تابع را بسازیم.