آموزش پایتون

مدیریت فایل

لامبدا در پایتون

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

نحوه نوشتار لامبدا

				
					lambda arguments : expression
#عبارت : آرگومان‌های لامبدا
				
			

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

مثال

10 را به آرگومان a اضافه کنید و نتیجه را برگردانید:
				
					x = lambda a : a + 10
print(x(5))
				
			
توابع لامبدا می توانند هر تعداد آرگومان را دریافت کنند:

مثال

آرگومان a را با آرگومان b ضرب کنید و نتیجه را برگردانید:
				
					x = lambda a, b : a * b
print(x(5, 6))
				
			

مثال

آرگومان a، b و c را جمع کنید و نتیجه را برگردانید:
				
					x = lambda a, b, c : a + b + c
print(x(5, 6, 2))
				
			

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

قدرت لامبدا زمانی بهتر نشان داده می شود که از آنها به عنوان یک تابع ناشناس در یک تابع دیگر استفاده کنید.
فرض کنید یک تعریف تابع دارید که یک آرگومان می گیرد و آن آرگومان با یک عدد مجهول ضرب می شود:
				
					def myfunc(n):
  return lambda a : a * n
				
			
از این تعریف تابع، برای ایجاد تابعی استفاده کنید که همیشه عددی را که ارسال می‌کنید دو برابر می‌کند:

مثال

				
					def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))
				
			
یا از همان تعریف تابع برای ایجاد تابعی استفاده کنید که همیشه عددی را که ارسال می‌کنید سه برابر می‌کند:

مثال

				
					def myfunc(n):
  return lambda a : a * n

mytripler = myfunc(3)

print(mytripler(11))
				
			
یا از تعریف تابع مشابه برای ساخت هر دو تابع در یک برنامه استفاده کنید:

مثال

				
					def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)
mytripler = myfunc(3)

print(mydoubler(11))
				
			

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

آموزش پایتون

مدیریت فایل