खोज…


परिचय

फ़ंक्शनल प्रोग्रामिंग एक समस्या को फ़ंक्शन के एक सेट में विघटित करता है। आदर्श रूप से, फ़ंक्शन केवल इनपुट लेते हैं और आउटपुट उत्पन्न करते हैं, और किसी भी आंतरिक स्थिति में नहीं होते हैं जो किसी दिए गए input.below के लिए उत्पादित आउटपुट को प्रभावित करता है कई भाषाओं के लिए कार्यात्मक तकनीकें हैं: जैसे लैम्ब्डा, मैप, कम।

लंबोदर क्रिया

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

s=lambda x:x*x
s(2)    =>4

नक्शा समारोह

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

यह एक सरल नक्शा है जो नामों की एक सूची लेता है और उन नामों की लंबाई की सूची देता है:

name_lengths = map(len, ["Mary", "Isla", "Sam"])
print(name_lengths)    =>[4, 4, 3]

कार्य कम करें

कम एक समारोह और वस्तुओं का एक संग्रह लेता है। यह एक मूल्य देता है जो वस्तुओं के संयोजन द्वारा बनाया जाता है।

यह एक साधारण कमी है। यह संग्रह में सभी वस्तुओं का योग लौटाता है।

total = reduce(lambda a, x: a + x, [0, 1, 2, 3, 4])
print(total)    =>10

फ़िल्टर फ़ंक्शन

फ़िल्टर एक फ़ंक्शन और एक संग्रह लेता है। यह प्रत्येक आइटम का एक संग्रह लौटाता है जिसके लिए फ़ंक्शन सही लौटा।

arr=[1,2,3,4,5,6]
[i for i in filter(lambda x:x>4,arr)]    # outputs[5,6]


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow