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

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

در برنامه نویسی گاهی پیش می‌آید بخشی از کد بارها و بارها تکرار شود. و یا اینکه برای خوانایی بیشتر برنامه، آن را به بخش هایی میشکنیم و هر کدام از این بخش‌ها را بصورت جداگانه برنامه نویسی کرده و در انتها کنار هم میگذاریم تا برنامه ای واحد داشته باشیم. توابع برای آسانی کد زنی و خوانایی بهتر کد استفاده میشوند.

 

توابع به صورت در داخل زبان پایتون تعریف میشوند.

روش اول:

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

روش دوم:

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

در این مقاله ما به توضیح روش دوم میپردازیم.

توابع یکبار مصرف:

گاهی ما بعضی از توابع را برای یکبار نیاز داریم و یا برای بعضی از تولع بلت این(built in) در پایتون نیاز داریم که یک تابع به عنوان آرگومان به این تابع بدهیم. در این مواقع میتوانیم به جای اینکه به صورت جدا گانه یک تابع تعریف کرده و ار آن استفاده کنیم. از این توابع یکبار مصرف استفاده میکنیم.

برای استفده از این توابع از کلمه  کلیدی( lammbda) استفاده میکنیم.

lambda your_argoman: print(your_argoman) #You can use any command instead of the print function.

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

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

در زیر به چند مثال از این تابع دقت نمایید.

مثال ۱:

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

my_function = lambda number1, number2 : print (2*number1, 2*number2) 
number1 = input(" please enter a number: ")
number2 = input(" please enter a number: ")
my_function(number1, number2)

مثال۲:

میخواهیم یک برنامه بنویسیم که لیستی را که در اختیار داریم . تمام عناصر این لیست را به توان ۲ برساند.

  • برای این منظور از تابع map کمک میگیریم.
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 7, 8, 15, 254, 32, 65, 14, 25, 35, 26, 125, 21, 24, 25, 26, 23, 11, 4]
list2 = list(map(lambda x : x ** 2, list1))

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

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *