पायथॉन लैम्ब्डा

लैम्ब्डा फ़ंक्शन एक छोटी अज्ञात फ़ंक्शन है。

लैम्ब्डा फ़ंक्शन को किसी भी संख्या के पैरामीटर को स्वीकार कर सकता है, लेकिन केवल एक एक्सप्रेशन हो सकता है。

व्याकरण

लैम्ब्डा आर्गुमेंट्स : expression

एक्सप्रेशन को चलाएं और परिणाम वापस करें:

इंस्टांस

एक लैम्ब्डा फ़ंक्शन, जो पैरामीटर के रूप में प्रविष्ट किए गए नंबर को 10 जोड़ता है और फलस्वरूप को प्रिंट करता है:

x = लैम्ब्डा 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))

इंस्टांस चलाएं

लैम्ब्डा फ़ंक्शन का उपयोग करने का क्यों?

जब आप 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 फ़ंक्शन का उपयोग करें。