در مقاله قبلی به مبحث توابع (functions) در پایتون (Python) پرداختیم و به صورت کامل آن را برای شما شرح دادیم.
در این مقاله هم به نوع دیگری از توابع در برنامه نویسی پایتون به نام توابع Lambda می پردازیم.
تابع Lambda یک تابع کوچک ناشناس است که با نام های "عملگرهای لامبدا" و یا "توابع لامبدا" شناخته می شوند.
تابع ناشناس به این معنی است که شما برای تعریف آن نیاز به نام مشخصی ندارید.
یک تابع Lambda می تواند هر تعداد آرگومان بگیرد اما فقط می تواند یک عبارت بگیرد.
نمی توانیم توابع دیگری را درون یک تابع Lambda فراخوانی کنیم.
سینتکس (Syntax) تابع Lambda
lambda arguments : expression
در Syntax بالا عبارت (expression) اجرا می شود و نتیجه بازگردانده می شود.
مثال: در این مثال مقدار 10 را به آرگومان a اضافه می کند و نتیجه را برمی گرداند.
x = lambda a : a + 10
print(x(5))
توابع Lambda می توانند هر تعداد آرگومان داشته باشند.
مثال: در این مثال آرگومان 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))
دلیل استفاده از توابع Lambda در پایتون
توابع Lambda زمانی کارایی و قدرت بهتری دارد که از آن به صورت ناشناس درون تابع دیگری استفاده کنید.
مثال: اگر شما یک تابغ دارید که فقط یک آرگومان می گیرد و قرار است این آرگومان با یک عدد ناشناس ضرب شود، به شکل زیر از تابع Lambda استفاده کنید.
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))
print(mytripler(11))
نکته: هنگامی که به یک تابع ناشناس یکبار مصرف نیاز دارید، از توابع Lambda استفاده کنید.
پس توابع Lambda برای این استفاده می شوند که اگر نیاز به توابع ساده یک خطی داریم، در نوشتن توابع معمولی زیاده روی نکنیم.
در این مقاله تابع Lambda و کاربرد آن را برای شما شرح دادیم.
در مقاله بعدی به طور مفصل مبحث آرایه ها را برای شما شرح می دهیم.


آموزش Drag And Drop (کشیدن و رها کردن) عناصر در HTML

موقعیت جغرافیایی (لوکیشن یا مکان) در HTML

چگونه از YouTube در HTML استفاده کنیم؟

افزونه ها (plug-ins) در HTML

تگ audio در HTML

تگ video در HTML

Multimedia (چند رسانه ای) در HTML

عنصر SVG در زبان نشانه گذاری HTML

عنصر canvas در زبان نشانه گذاری HTML

ویژگی form عنصر input در زبان نشانه گذاری HTML