Python Lambda Python Lambda Python Lambda
Lambda در پایتون
یک lambda درواقع یک تابع کوچک بدون نام است.
یک lambda می تواند هر تعدادی پارامتر قبول کند اما فقط یک عبارت می تواند داشته باشد.
ساختار دستور lambda :
1 | lambda arguments : expression |
در مثال زیر تابع lambda مقدار آرگومان را با ۱۰ جمع کرده و نتیجه را در x قرار می دهد:
1 2 | x = lambda a : a + 10 print(x(5)) |
در مثال زیر تابع lambda چندین آرگومان را دریافت کرده است:
1 2 | x = lambda a, b : a * b print(x(5, 6)) |
چرا از Lambda استفاده می کنیم؟
قدرت Lambda وقتی نمایان می شود که شما از آن ها به عنوان توابع بی نام در داخل توابع دیگر استفاده کنید.
فرض کنید یک تابع تعریف کرده اید که یک آرگومان را می گیرد و آن آرگومان با یک عدد ناشناس ضرب می شود:
1 2 | def myfunc(n): return lambda a : a * n |
از این تابع می توانیم برای ضرب یک عدد در ۲ استفاده کنیم:
1 2 3 4 5 6 | def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) print(mydoubler(11)) |
که حاصل کد بالا ۲۲ خواهد بود.
همچنین می توانیم این تایع برای اعداد دیگر نیز استفاده کنیم:
1 2 3 4 5 6 | def myfunc(n): return lambda a : a * n mytripler = myfunc(3) print(mytripler(11)) |
یا یرای هر دو مورد تابع را استفاده می کنیم:
1 2 3 4 5 6 7 8 | def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11)) |
از توابع Lambda برای وقتی که یک تابع بی نام برای یک بازه زمانی کوتاه نیاز است، استفاده کنید.