بيثون لامدا
وظيفة لامدا هي وظيفة مجهولة صغيرة.
يمكن أن تأخذ دالة lambda أي عدد من الوسائط ، ولكن يمكن أن تحتوي على تعبير واحد فقط.
بناء الجملة
lambda arguments : 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؟
تظهر قوة لامدا بشكل أفضل عند استخدامها كوظيفة مجهولة داخل وظيفة أخرى.
لنفترض أن لديك تعريف دالة يأخذ وسيطة واحدة ، وسيتم ضرب هذه الوسيطة برقم غير معروف:
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 عند الحاجة إلى وظيفة مجهولة لفترة قصيرة من الوقت.