50% کامل شده تا

Lambda

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳شروع کار
۴دستور زبان
۵توضیحات
۶متغیرها
۷انواع داده‌ها
۸اعداد
۹تبدیل نوع
۱۰رشته‌ها
۱۱Booleans
۱۲عملگرها
۱۳لیست‌ها
۱۴تاپل‌ها
۱۵مجموعه‌ها
۱۶دیکشنری‌ها
۱۷If...Else
۱۸حلقهٔ While
۱۹حلقهٔ For
۲۰توابع
۲۱Lambda
۲۲آرایه‌ها
۲۳کلاس‌ها / اشیاء
۲۴ارث‌بری
۲۵Iteratorها
۲۶دامنه
۲۷پودمان‌ها
۲۸تاریخ و زمان
۲۹JSON
۳۰RegEx
۳۱PIP
۳۲Try...Except
۳۳ورودی کاربر
۳۴قالب‌بندی رشته
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون


Lambda یک تابع کوچک بی‌نام است.[۱]

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


دستور نوشتار

lambda arguments : expression


عبارت اجرا می‌شود و نتیجه ارائه می‌شود:

مثال

Add 10 to argument a, and return the result:

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 بعنوان تابع بی نام داخل یک تابع دیگر استفاده شود، قدرت آن بهتر نمایش داده می‌شود.

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

مثال
def myfunc(n):
  return lambda a : a * n


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

مثال
1 def myfunc(n):
2   return lambda a : a * n
3 
4 mydoubler = myfunc(2)
5 
6 print(mydoubler(11))


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

مثال
1 def myfunc(n):
2   return lambda a : a * n
3 
4 mytripler = myfunc(3)
5 
6 print(mytripler(11))


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

مثال
1 def myfunc(n):
2   return lambda a : a * n
3 
4 mydoubler = myfunc(2)
5 mytripler = myfunc(3)
6 
7 print(mydoubler(11))
8 print(mytripler(11))


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


منابع آموزشی