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

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

مثال

یک تابع lambda که ۱۰ را به عددی که عنوان آرگومان به تابع پاس شده اضافه می‌کند و نتیجه را چاپ می‌کند:

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


مشاهدهٔ نتیجه


توابع lambda می‌توانند هر تعداد آرگومان داشته باشند:

مثال

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

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


مشاهدهٔ نتیجه


مثال

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

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


مشاهدهٔ نتیجه


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

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

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

1 def myfunc(n):
2   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 زمانی استفاده می‌شود که یک تابع بی‌نام برای مدت کوتاهی مورد نیاز باشد.


منابع آموزشی