Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन लैम्ब्डा फ़ंक्शंस:एक परिचय

पायथन लैम्ब्डा फ़ंक्शन सिंगल लाइन, अनाम फ़ंक्शन हैं। पायथन में लैम्ब्डा एक्सप्रेशन सिंगल लाइन फ़ंक्शंस के लिए उपयोगी होते हैं जिन्हें किसी नाम की आवश्यकता नहीं होती है, जैसे फ़िल्टरिंग सूचियां, स्ट्रिंग मामलों को परिवर्तित करना, या किसी संख्या को गुणा करना।


जब आप एक ऐसा प्रोग्राम लिख रहे हैं जो एक समान कार्य को कई बार करेगा, तो अपने कोड को दोहराना अव्यावहारिक है क्योंकि इसका मतलब होगा कि यदि आपको कार्य के काम करने के तरीके को बदलने की आवश्यकता है तो आपको इसके हर उदाहरण को अपडेट करना होगा। आपका कोडबेस जितना बड़ा होगा, इन परिवर्तनों को करने में उतना ही अधिक समय लगेगा।

यहीं से फंक्शन काम आते हैं। पायथन में, एक विशेष प्रकार का फ़ंक्शन होता है जिसे एक अनाम फ़ंक्शन कहा जाता है जो आपको त्वरित कार्यों की घोषणा करने की अनुमति देता है:लैम्ब्डा अभिव्यक्ति।

यह मार्गदर्शिका चर्चा करेगी कि दोहराव वाली प्रक्रियाओं को स्वचालित करने के लिए पायथन में लैम्ब्डा फ़ंक्शन का उपयोग कैसे करें। हम लैम्ब्डा फंक्शन के दो उदाहरण भी उपलब्ध कराएंगे ताकि आपके पास वह सभी सामग्री हो जो आपको अपनी खुद की लिखने के लिए चाहिए।

फ़ंक्शन क्या है?

प्रोग्रामिंग में, एक फ़ंक्शन कोड का एक ब्लॉक होता है जो एक विशिष्ट कार्य करता है।

कोडर फ़ंक्शंस का उपयोग करने का एक बड़ा कारण यह है कि वे अपने कोड में दोहराव को कम करने में मदद करते हैं। यदि आप किसी प्रक्रिया को किसी फ़ंक्शन में बंडल करते हैं, तो आप इसे अपने प्रोग्राम में कहीं भी कॉल कर सकते हैं। आपको अपना कोड कई बार दोहराने की आवश्यकता नहीं है।

यह डेवलपर्स को अधिक रखरखाव योग्य कोड लिखने में भी मदद करता है। यदि आपको उस प्रक्रिया में कोई परिवर्तन करने की आवश्यकता है, तो आपको केवल अपने कार्य को संशोधित करने की आवश्यकता है। आपको कोड की कई पंक्तियों में परिवर्तन करने की आवश्यकता नहीं है, जिन्हें अभी आपके प्रोग्राम में कॉपी और पेस्ट किया गया है।

यहाँ पायथन में एक फ़ंक्शन का उदाहरण दिया गया है:

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

def say_hello(name):
	print("Hello there, " + name)

say_hello("Arthur")

जब हम इस कोड को चलाते हैं, तो निम्नलिखित लौटाया जाता है:नमस्ते, आर्थर।

हालांकि ये फ़ंक्शन उपयोगी होते हैं, यदि आप कुछ सरल करना चाहते हैं जैसे स्ट्रिंग्स लोअरकेस की सूची में प्रत्येक स्ट्रिंग बनाना, फ़ंक्शन लिखना काफी वर्बोज़ है। अपने कोड को काम करने के लिए आपको एक नए फ़ंक्शन को एक नाम निर्दिष्ट करना होगा। यहीं से लैम्ब्डा फंक्शन आते हैं।

लैम्ब्डा फंक्शन क्या है?

लैम्ब्डा फ़ंक्शन एक प्रकार का फ़ंक्शन है जिसे बिना नाम के परिभाषित किया जाता है। इन कार्यों को कभी-कभी अनाम फ़ंक्शन कहा जाता है, क्योंकि उन्हें किसी नाम की आवश्यकता नहीं होती है। जबकि पहले से हमारे फ़ंक्शन का नाम SayHello था, और इसे "def" का उपयोग करके परिभाषित किया गया था, एक लैम्ब्डा फ़ंक्शन को किसी नाम की आवश्यकता नहीं होती है और इसे "लैम्ब्डा" का उपयोग करके परिभाषित किया जाता है।

लैम्ब्डा फ़ंक्शन का उपयोग करने का मुख्य लाभ यह है कि इसे एक पंक्ति पर लिखा जा सकता है। यह लैम्ब्डा फ़ंक्शन को उपयोगी बनाता है यदि आपके पास एक त्वरित प्रक्रिया है जिसे आप कई बार करना चाहते हैं। यहां कुछ उदाहरण दिए गए हैं जहां लैम्ब्डा फ़ंक्शन सहायक हो सकता है:

  • किसी संख्या का गुणा करना
  • स्ट्रिंग को अपरकेस या लोअरकेस में कनवर्ट करना
  • सूची फ़िल्टर करना

पाइथन में लैम्ब्डा फंक्शन बनाने का सिंटैक्स यहां दिया गया है:

name = lambda arguments: expression

लैम्ब्डा फ़ंक्शन के साथ आप जितने तर्क निर्दिष्ट कर सकते हैं, वह सीमित नहीं है। आइए एक उदाहरण के माध्यम से देखें कि पायथन में लैम्ब्डा फ़ंक्शन कैसे काम करता है। मान लीजिए हम किसी संख्या को सात से गुणा करना चाहते हैं। ऐसा करने के लिए, हम निम्नलिखित फ़ंक्शन का उपयोग कर सकते हैं:

def multiply_by_seven(number):
return number * 7

print(multiply_by_seven(2))

जब हम इस कोड को चलाते हैं, तो निम्नलिखित लौटाया जाता है:14.

हालांकि यह कोड काम करता है, यह उतना कुशल नहीं है जितना हो सकता है। हम अपने फ़ंक्शन के लिए नाम और तर्कों को परिभाषित करने वाले कोड की एक पूरी लाइन खर्च करते हैं और कोड की एक और लाइन की गणना और एक मूल्य लौटाते हैं। अपने फ़ंक्शन को और अधिक कुशल बनाने के लिए, हम लैम्ब्डा फ़ंक्शन का उपयोग कर सकते हैं।

यहाँ एक लैम्ब्डा फ़ंक्शन है जो ऊपर की तरह ही क्रिया करता है:

multiply_by_seven = lambda n: n * 7

print(multiply_by_seven(2))

हमारा कोड रिटर्न:14. जैसा कि आप देख सकते हैं, हमारे फ़ंक्शन का आउटपुट समान है। अंतर यह है कि हमने नियमित फ़ंक्शन के बजाय लैम्ब्डा फ़ंक्शन का उपयोग किया है। इस मामले में:

  • लैम्ब्डा कीवर्ड इंगित करता है कि हम एक लैम्ब्डा फ़ंक्शन घोषित कर रहे हैं
  • n हमारे कार्य के लिए तर्क है।
  • n * 7 हमारे लैम्ब्डा फ़ंक्शन के लिए निर्दिष्ट एकल अभिव्यक्ति है।

लैम्ब्डा फ़ंक्शन कब उपयोग किए जाते हैं?

लैम्ब्डा फ़ंक्शंस का पायथन में व्यापक उपयोग है। हमारे पिछले उदाहरण में, हमने दिखाया कि आप दो संख्याओं को गुणा करने के लिए लैम्ब्डा फ़ंक्शन का उपयोग कैसे कर सकते हैं। लेकिन, कुछ और सामान्य उपयोग के मामले हैं जिनके बारे में आपको अवगत होना चाहिए।

अक्सर, लैम्ब्डा फ़ंक्शंस का उपयोग बिल्ट-इन फ़ंक्शंस जैसे reduce() . के साथ किया जाता है फ़ंक्शन, map() फ़ंक्शन या filter() समारोह। लैम्ब्डा फ़ंक्शंस को कभी-कभी दोहराए जाने वाले कार्यों को करने के लिए सूची समझ के साथ भी उपयोग किया जाता है।

मान लीजिए कि हम एक बेकरी के मालिक हैं और हम उन सभी पाई की सूची बनाना चाहते हैं जो हम बेचते हैं, जो हम सभी बेक किए गए सामानों की सूची के आधार पर बेचते हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

baked_goods = ['Blondie', 'Chocolate Chip Cookie', 'Apple Pie', 'Pecan Pie', 'Blackberry Pie', 'Scone']

pies = filter(lambda pie: "Pie" in pie, baked_goods)

print(list(pies))

हमारा कोड लौटाता है:

['Apple Pie', 'Pecan Pie', 'Blackberry Pie']

आइए देखें कि यह कैसे काम करता है। हमारे कोड की पहली पंक्ति पर, हमने पके हुए माल की एक सूची घोषित की। फिर, हमने filter() . का उपयोग किया "पाई" शब्द वाले सभी बेक किए गए सामानों को फ़िल्टर करने के लिए कार्य करता है। filter() फ़ंक्शन ने हमें "बेक्ड_गुड्स" सूची में प्रत्येक आइटम के माध्यम से पुनरावृति करने और उन वस्तुओं को फ़िल्टर करने की अनुमति दी जो किसी विशेष मानदंड को पूरा नहीं करते थे।

हमने एक लैम्ब्डा फ़ंक्शन को परिभाषित करके ऐसा किया है जो यह जांचता है कि क्या प्रत्येक स्ट्रिंग में "पाई" है, और केवल स्ट्रिंग लौटाता है यदि उस स्ट्रिंग में "पाई" है। इस मामले में, हमारा लैम्ब्डा फ़ंक्शन है:

lambda pie: "Pie" in pie

आप इस उदाहरण से देख सकते हैं कि पायथन लैम्ब्डा फ़ंक्शंस को किसी नाम की आवश्यकता नहीं है। वे पारंपरिक कार्यों के विपरीत, इन-लाइन मौजूद हो सकते हैं। यदि कोई आइटम हमारे मानदंडों को पूरा करता है, तो हमारी लैम्ब्डा अभिव्यक्ति सच हो जाती है; अन्यथा, कोई मूल्य वापस नहीं किया जाता है।

अंत में, हम वेरिएबल "पीज़" को एक सूची में बदलते हैं और इसे कंसोल पर प्रिंट करते हैं। हम ऐसा इसलिए करते हैं क्योंकि filter() एक कस्टम फ़िल्टर ऑब्जेक्ट देता है, इसलिए हमारे पाई देखने के लिए, हमें list() का उपयोग करके इसे कनवर्ट करने की आवश्यकता है ।

निष्कर्ष

लैम्ब्डा फ़ंक्शन, जिसे अनाम फ़ंक्शन के रूप में भी जाना जाता है, आपको बिना किसी नाम के फ़ंक्शन को परिभाषित करने की अनुमति देता है। यदि आपको अपने कोड में कई बार कोई क्रिया करने की आवश्यकता होती है तो वे उपयोगी होते हैं।

उदाहरण के लिए, यदि आपको किसी संख्या को दूसरी संख्या से गुणा करने की आवश्यकता है, तो आप लैम्ब्डा फ़ंक्शन का उपयोग कर सकते हैं; या आप किसी सूची में आइटम को फ़िल्टर करने के लिए लैम्ब्डा फ़ंक्शन का उपयोग कर सकते हैं।


  1. पायथन में लैम्ब्डा के साथ टिंकर बटन कमांड

    लैम्डा फंक्शंस (पायथन में एनोनिमस फंक्शन के रूप में भी जाना जाता है) टिंकर जीयूआई अनुप्रयोगों के निर्माण में बहुत उपयोगी हैं। वे हमें कॉलबैक फ़ंक्शन के माध्यम से कई डेटा भेजने की अनुमति देते हैं। लैम्ब्डा किसी भी फ़ंक्शन के अंदर हो सकता है जो अभिव्यक्तियों के लिए एक अनाम फ़ंक्शन के रूप में कार्य करत

  1. issubset () पायथन में फ़ंक्शन

    इस लेख में, हम पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध issubset () फ़ंक्शन के कार्यान्वयन और उपयोग के बारे में जानेंगे। issubset() विधि बूलियन ट्रू लौटाती है जब एक सेट के सभी तत्व दूसरे सेट में मौजूद होते हैं (एक तर्क के रूप में पारित) अन्यथा, यह बूलियन गलत देता है। नीचे दिए गए चित्र में B, A का एक उ

  1. इंटरसेक्शन () फ़ंक्शन पायथन

    इस लेख में, हम चौराहे () फ़ंक्शन के बारे में जानेंगे जो किसी दिए गए सेट पर किया जा सकता है। गणित के अनुसार प्रतिच्छेदन का अर्थ है दो समुच्चयों से उभयनिष्ठ तत्वों का पता लगाना। सिंटैक्स <set name>.intersection(<set a1> <set a2> ……..) रिटर्न वैल्यू सेट में सामान्य त