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

4 سال پیش

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

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، شما در مورد تابع بی نام/ تابع لامبدا در برنامه نویسی پایتون (Anonymous/Lambda Function) خواهید آموخت که آنها چه هستند، نحو آنها و چگونگی استفاده از آنها چگونه می باشد.

پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون

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

در پایتون، یک تابع بی نام یا تابع لامبدا تابعی است که بدون نام تعریف می شود.

در حالی که توابع عادی با استفاده از کلیدواژه def در پایتون تعریف می شوند، توابع بی نام با استفاده از کلیدواژه lambda تعریف می شوند.

از این رو، توابع بی نام را توابع لامبدا نیز می نامند.

 

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

یک تابع لامبدا در پایتون نحو زیر را دارد.

lambda arguments: expression

 

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

 

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

در اینجا مثالی از تابع لامبدا آورده شده است که مقدار ورودی را دو برابر می کند.

# Program to show the use of lambda functions
double = lambda x: x * 2

print(double(5))

 

خروجی

۱۰

 

در برنامه فوق، lambda x: x * 2 تابع لامبدا است. در اینجا x آرگومان است و x * 2 عبارتی است که ارزیابی و بازگردانده می شود.

این تابع نامی ندارد. این تابع، صرفا شی تابع را که به شناساگر دوبرابر شده (double) تخصیص داده شده، باز می‌گرداند.

double = lambda x: x * 2

 

تقریباً با مورد زیر یکسان است:

def double(x):
   return x * 2

 

 

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

وقتی برای مدت زمان کوتاهی به یک تابع بی نام نیاز داریم، در برنامه نویسی پایتون از توابع لامبدا استفاده می کنیم.

در پایتون، ما به طور کلی از آن به عنوان آرگومان برای یک تابع مرتبه بالاتر (تابعی که توابع دیگر را به عنوان آرگومان می گیرد) استفاده می کنیم. توابع لامبدا همراه باتوابع توکاری مانند ()filter و ()map و غیره استفاده می شود.

 

مثال: کاربرد تابع لامبدا با ()filter

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

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

در اینجا مثالی از کاربرد () filter برای فیلتر کردن اعداد زوج از لیست وجود دارد….

# Program to filter out only the even items from a list
my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(filter(lambda x: (x%2 == 0) , my_list))

print(new_list)

 

خروجی

[۴, ۶, ۸, ۱۲]

 

مثال: کاربرد تابع لامبدا با ()map 

تابع ()map در پایتون یک تابع و یک لیست را دریافت می‌کند.

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

در اینجا مثالی از کاربرد ()map برای دو برابر کردن تمام موارد موجود در لیست وجود دارد.

# Program to double each item in a list using map()

my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(map(lambda x: x * 2 , my_list))

print(new_list)

 

خروجی

[۲, ۱۰, ۸, ۱۲, ۱۶, ۲۲, ۶, ۲۴]

 

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون
  6. تبدیل نوع در برنامه نویسی پایتون
  7. ورودی، خروجی و وارد کردن در برنامه نویسی پایتون
  8. عملگرها در برنامه نویسی پایتون
  9. نام و دامنه در برنامه نویسی پایتون
  10. دستور شرطی if…else در برنامه نویسی پایتون
  11. حلقه for در برنامه نویسی پایتون
  12. حلقه while در برنامه نویسی پایتون
  13. دستورات break و continue در برنامه نویسی پایتون
  14. دستور pass در برنامه نویسی پایتون
  15. توابع در برنامه نویسی پایتون
  16. آرگومان تابع در برنامه نویسی پایتون
  17. تابع بازگشتی در برنامه نویسی پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه