अजगर लैम्ब्डा
लैम्ब्डा फ़ंक्शन एक छोटा अनाम फ़ंक्शन है।
एक लैम्ब्डा फ़ंक्शन किसी भी संख्या में तर्क ले सकता है, लेकिन केवल एक अभिव्यक्ति हो सकती है।
वाक्य - विन्यास
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))
print(mytripler(11))
जब कम समय के लिए किसी अनाम फ़ंक्शन की आवश्यकता हो तो लैम्ब्डा फ़ंक्शन का उपयोग करें।