آموزش توابع Lambda (لامبدا) در پایتون

توابع lambda در پایتون

تابع لامبدا در پایتون یک تابع کوچک ناشناس است. (تابع ناشناس به تابع بدون نام گفته می‌شود.)

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

سینتکس و نحوه نوشتن

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

lambda arguments : expression

با فراخوانی این تابع، دستور و expression موردنظر اجرا شده و نتیجه برمی گردد.

مثال

عدد 10 را به ورودی اضافه کرده و نتیجه را برگردانید:

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

توابع لامبدا می توانند هر تعداد آرگومان را دریافت کنند:

مثال

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

آرگومان های a و b و c را جمع کرده و نتیجه را برگردانید:

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

و همینطور یک تابع دیگر که این بار عدد دریافتی را سه برابر می کند:

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

کاربرد دیگر لامبدا زمانی است که می خواهید یک تابع که یک دستور ساده دارد را تعریف و استفاده کنید.

مجموعهآموزش پایتون از صفر(23 پست)
1.پایتون چیست؟ مقدمه پایتون1 سال قبل2.برنامه نویسی پایتون را چطور شروع کنیم؟1 سال قبل3.آموزش سینتکس (نحوه نوشتن) پایتون1 سال قبل4.آموزش متغیرهای پایتون1 سال قبل5.آموزش انواع داده در پایتون1 سال قبل6.آموزش اعداد در پایتون1 سال قبل7.آموزش Casting (تبدیل نوع داده) در پایتون1 سال قبل8.آموزش رشته در پایتون1 سال قبل9.آموزش بولین یا Boolean در پایتون1 سال قبل10.آموزش عملگرهای پایتون1 سال قبل11.آموزش لیست در پایتون1 سال قبل12.آموزش تاپل یا چندتایی در پایتون12 ماه قبل13.آموزش Set یا مجموعه در پایتون10 ماه قبل14.آموزش نوع داده دیکشنری در پایتون10 ماه قبل15.آموزش شرط if ... else در پایتون10 ماه قبل16.آموزش حلقه while در پایتون10 ماه قبل17.آموزش حلقه for در پایتون10 ماه قبل18.آموزش توابع در پایتون10 ماه قبل19.آموزش توابع Lambda (لامبدا) در پایتون10 ماه قبل20.آموزش آرایه در پایتون10 ماه قبل21.آموزش کلاس و Object در پایتون10 ماه قبل22.آموزش ارث بری یا وراثت در پایتون10 ماه قبل23.آموزش تکرارگر یا iterator در پایتون10 ماه قبل
منتشر شده در رسانیکا، پلتفرم اشتراک‌گذاری محتوا
پایتونیست
ثبت‌شده توسط:
کامنت ها