توابع بدون نام در پایتون- تابع لامبدا در پایتون-آموزش پایتو

توابع لامبدا یا توابع بی نام در پایتون

به توابع بی نام کوچک در پایتون تابع لامبدا گفته می‌شود. توابع لامبدا در پایتون در تعداد آرگومان‌ها محدودیتی ندارند و هر تعداد که بخواین می‌توانید آرگومان تعریف کنید اما دقت نمائید که حتما باید فقط یک دستور داشته باشند.

نحوه تعریف توابع لامبدا در پایتون

 lambda arguments : expression 

در این توابع دستور (expression)مورد نظر اجرا می‌شود و نتیجه را به طور پیش فرض برمی‌گرداند.

>>> x = lambda a : a+10
>>> print(x(5))
۱۵

جهت طراحی وب سایت در تبریز با ما تماس بگیرید.

توابع لامبدا در پایتون می‌توانند به تعداد دلخواه آرگومان داشته باشد.

تابع بی نام زیر سه آرگومان دارد:

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

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

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

مثلا اگر تابعی داشته باشید که فقط یک آرگومان داشته باشه و اگر قرار باشه که آرگومان این تابع با یک عدد خاص ضرب بشه:

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

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

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

mydoubler = myfunc(2)

print(mydoubler(11))

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

در مثال زیر با استفاده از تابع myfunc تابع دیگری تعریف کرده‌ایم که اعداد را سه برابر می‌کند:

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))

دیدگاه خود را بنویسید