تابع lambda

توابع Lambda در پایتون: ابزاری قدرتمند برای کدنویسی مختصر

توابع lambda در پایتون یکی از ویژگی‌های جذاب این زبان هستند که به شما امکان می‌دهند توابع کوچک و بی‌نام را در یک خط کد تعریف کنید. این توابع زمانی مفید هستند که نیاز به یک تابع ساده دارید و نمی‌خواهید با تعریف رسمی تابع (def) زمان بگذارید.

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

ساختار اصلی توابع lambda

سینتکس کلی یک تابع lambda به صورت زیر است:

lambda arguments: expression

مثال ساده:

مثال خروجی
lambda x: x * 2 تابعی که ورودی را دوبرابر می‌کند
lambda a, b: a + b تابع جمع دو عدد

کاربردهای رایج lambda

توابع lambda معمولاً در این موارد استفاده می‌شوند:

  • به عنوان پارامتر برای توابعی مانند map()، filter() و reduce()
  • در مرتب‌سازی لیست‌ها با متد sort()
  • برای ایجاد توابع ساده و سریع بدون نیاز به نام
  • در ترکیب با comprehensionها برای پردازش داده‌ها

مثال عملی با تابع map():

numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
# نتیجه: [1, 4, 9, 16]

محدودیت‌های توابع lambda

اگرچه lambdaها مفید هستند، اما محدودیت‌هایی دارند:

  1. فقط می‌توانند شامل یک عبارت باشند (چندخطی نیستند)
  2. نمی‌توانند شامل دستورات (مانند return، if، for) باشند
  3. خوانایی کد ممکن است برای توابع پیچیده کاهش یابد

برای یادگیری عمیق‌تر درباره توابع در پایتون، می‌توانید مقاله ادامه مطلب را مطالعه کنید.