Lambda Python

توابع lambda یک تابع ناشناس کوچک هستند.

توابع lambda می‌توانند تعداد هرچه بیشتری از پارامترها را پذیرش کنند، اما فقط یک عبارت را می‌توانند داشته باشند.

قوانین دستور زبان

lambda arguments : expression

اجرای عبارت و بازگشت نتیجه:

مثال

یک تابع lambda، که عدد ورودی را 10 اضافه می‌کند و سپس نتیجه را چاپ می‌کند:

x = lambda a : a + 10
print(x(5))

اجرای مثال

توابع lambda می‌توانند تعداد هرگونه پارامتری را پذیرند:

مثال

یک تابع lambda که پارامترها a و b را ضرب می‌کند و نتیجه را چاپ می‌کند:

x = lambda a, b : a * b
print(x(5, 6))

اجرای مثال

مثال

یک تابع lambda که پارامترها a، b و c را جمع می‌کند و نتیجه را چاپ می‌کند:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

اجرای مثال

چرا از تابع lambda استفاده کنیم؟

وقتی lambda را به عنوان تابع ناشناس درون یک تابع دیگر استفاده می‌کنید، قدرت lambda بهتر به نمایش درمی‌آید.

فرض کنید که شما یک تعریف تابع با یک پارامتر دارید و این پارامتر با یک عدد ناشناخته ضرب می‌شود:

def myfunc(n):
  return lambda a : a * n

از تعریف تابع اینجا برای ایجاد یک تابع استفاده کنید که همیشه عدد ارسالی شما را دو برابر کند:

مثال

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

اجرای مثال

یا، از تعریف تابع مشابه برای ایجاد یک تابع استفاده کنید که همیشه عدد ارسالی شما را سه برابر کند:

مثال

def myfunc(n):
  return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

اجرای مثال

یا، در یک برنامه‌ی مشابه از تعریف تابع مشابه برای ایجاد دو تابع استفاده کنید:

مثال

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11)) 
print(mytripler(11))

اجرای مثال

اگر در مدت زمان کوتاهی به تابع ناشناس نیاز دارید، از تابع lambda استفاده کنید.