تابع بی نام در پایتون (Lambda) – به زبان ساده


در این مطلب، روش ساخت تابع بی نام در پایتون بیان شده است که به آن در فارسی تابع لامبدا یا لاندا و در انگلیسی Anonymous و Lambda نیز گفته میشود. در ادامه، مفهوم تابع بی نام در پایتون یا همان تابع لامبدا، نحو این تابع و چگونگی استفاده از آن، با ارائه مثالهای متنوع آموزش داده شده است.
تابع بی نام در پایتون
در پایتون، تابع بی نام (تابع لامبدا | Lambda)، تابعی است که بدون نام تعریف میشود. در حالی که توابع معمولی با استفاده از کلیدواژه def تعریف میشوند، تابعهای بی نام در پایتون با استفاده از کلیدواژه lambda تعریف میشوند. بنابراین، به تابع بی نام در پایتون، تابع lambda نیز گفته میشود.
روش استفاده از تابع بی نام در پایتون (تابع Lambda)
روش نوشتن تابع بی نام در پایتون، در ادامه همراه با مثالهای متنوع آموزش داده شده است.
نحو تابع بی نام در پایتون
نحو تابع بی نام در پایتون به صورت زیر است.
lambda arguments: expression
تابع بی نام در پایتون (تابع Lambda) میتواند هر تعدادی آرگومان داشته باشد. اما، فقط میتواند دارای یک عبارت (Expression) باشد. عبارت، ارزیابی و بازگردانده میشود. تابع Lambda هر گاه که شی تابع مورد نیاز باشد، قابل استفاده محسوب میشوند.
مثالی از تابع بی نام در پایتون
در ادامه، مثالی از تابع lambda در پایتون که مقدار ورودی را دو برابر میکند، آورده شده است.
در برنامه بالا، lambda x: x * 2 یک تابع lambda است. در اینجا، x آرگومان و x * 2 عبارتی است که ارزیابی شده و بازگردانده میشود. تابع هیچ اسمی ندارد. این تابع، صرفا شی تابع را که به شناساگر double تخصیص داده شده، باز میگرداند. قطعه کد اول که در ادامه آمده، تقریبا مشابه قطعه کد دوم است.
قطعه کد اول
قطعه کد دوم
کاربرد تابع Lambda در پایتون
از تابع Lambda هنگامی استفاده میشود که برای مدت زمان کوتاهی نیاز به یک تابع بدون نام باشد. در پایتون، معمولا از تابع بی نام (تابع لامبدا) به عنوان آرگومانی برای توابع مرتبه بالاتر استفاده میشود (تابعی که دیگر توابع را به صورت آرگومان دریافت میکند). تابع Lambda با توابع توکاری مانند ()filter و ()map کار میکند.
مثالی از کاربرد تابع Lambda با ()filter
تابع ()filter در پایتون، یک تابع و لیستی از آرگومانها را به عنوان ورودی دریافت میکند. تابع، با همه عناصر لیست فراخوانی میشود و یک لیست جدید بازگردانده میشود که شامل عناصری است که برای آنها مقدار تابع برابر با «درست» (True) ارزیابی میشود. در ادامه، مثالی از استفاده از تابع ()filter برای فیلتر کردن اعداد زوج در یک لیست، آورده شده است.
مثالی از کاربرد تابع Lambda همراه با ()map در پایتون
تابع ()map در پایتون، یک تابع و لیست را دریافت میکند. تابع با همه عناصر لیست فراخوانی میشود و یک لیست جدید که شامل عناصر بازگردانده شده است با آن تابع برای هر عنصر بازگردانده میشود.
در ادامه، مثالی از استفاده از تابع ()map برای دو برابر کردن همه عناصر لیست آورده شده است.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
^^