फंक्शन र मोड्युलर प्रोग्रामिङ कम्प्युटर प्रोग्रामिङका महत्त्वपूर्ण भागहरू हुन्। तिनीहरूले हामीलाई स्पष्ट र बुझ्न सजिलो प्रोग्रामहरू सिर्जना गर्न मद्दत गर्छन्। यस पाठले सरल भाषा र दैनिक उदाहरणहरू प्रयोग गरेर फंक्शन र मोड्युलर प्रोग्रामिङको अर्थ के हो भनेर व्याख्या गर्नेछ। प्रत्येक अवधारणालाई चरणबद्ध रूपमा व्याख्या गरिएको छ। तपाईंले फंक्शनहरू के हुन्, हामी तिनीहरूलाई किन प्रयोग गर्छौं, र तिनीहरूले हाम्रो कोडलाई कसरी व्यवस्थित र काम गर्न रमाइलो बनाउँछन् भनेर सिक्नुहुनेछ। हामी मोड्युलर प्रोग्रामिङले कसरी ठूलो समस्यालाई साना, व्यवस्थित टुक्राहरूमा विभाजन गर्छ भनेर पनि अन्वेषण गर्नेछौं।
फंक्शन भनेको एउटा सानो मेसिन जस्तै हो जसले एउटा काम गर्छ। प्रोग्रामिङमा, फंक्शन भनेको कोडको ब्लक हो जसले बोलाउँदा एउटा विशेष कार्य गर्दछ। भेन्डिङ मेसिनको बारेमा सोच्नुहोस्। जब तपाईं पैसा राख्नुहुन्छ, मेसिनले तपाईंलाई खाजा दिन्छ। चरणहरू (पैसा राख्ने, खाजा छनौट गर्ने, र खाजा प्राप्त गर्ने) यस प्रकार्यका सबै भागहरू हुन्।
एउटा प्रकार्यले इनपुट लिन्छ, त्यसलाई प्रशोधन गर्छ, र त्यसपछि आउटपुट फर्काउँछ। उदाहरणका लागि, यदि कुनै प्रकार्यले दुई संख्याहरू थप्छ भने, यसले संख्याहरूलाई इनपुटको रूपमा लिन्छ र योगफललाई आउटपुटको रूपमा दिन्छ। यो विचार कलामा नयाँ रङ प्राप्त गर्न तपाईंले दुई रङहरू कसरी मिलाउन सक्नुहुन्छ भन्ने जस्तै हो। इनपुटहरू रङहरू हुन्, र आउटपुट नयाँ रङ हो।
प्रत्येक प्रकार्यका केही महत्त्वपूर्ण भागहरू हुन्छन्:
उदाहरणका लागि, greet नामक साधारण प्रकार्यले नामलाई इनपुटको रूपमा लिन सक्छ र मैत्रीपूर्ण अभिवादन फर्काउन सक्छ। प्रकार्यका चरणहरू स्यान्डविच बनाउने जस्तै काम गर्छन्: तपाईंले आफ्ना सामग्रीहरू छनौट गर्नुहुन्छ, तिनीहरूलाई एकसाथ मिसाउनुहुन्छ, र त्यसपछि स्यान्डविचको आनन्द लिनुहुन्छ।
एउटा उदाहरण हेरौं। मानौं तपाईं एउटा यस्तो प्रकार्य चाहनुहुन्छ जसले नाम लिएर व्यक्तिलाई स्वागत गर्छ। यो प्रकार्य कस्तो देखिन सक्छ भन्ने कुरा यहाँ दिइएको छ:
def अभिवादन (नाम): "नमस्ते, " + नाम + "!" फर्काउनुहोस्।
यस प्रकार्यमा:
मोड्युलर प्रोग्रामिङ भनेको ठूलो समस्यालाई साना, सजिलै समाधान गर्न सकिने भागहरूमा विभाजन गर्ने बारेमा हो। कार्यक्रमको प्रत्येक भागलाई छुट्टै मोड्युल वा प्रकार्यको रूपमा बनाइएको छ। यस तरिकाले, कार्यक्रम एउटा पजल जस्तै बन्छ जहाँ प्रत्येक टुक्रा एकसाथ मिलेर सम्पूर्ण तस्वीर बनाउँछ।
कल्पना गर्नुहोस् तपाईं एउटा LEGO महल बनाउन चाहनुहुन्छ। एकैचोटि सम्पूर्ण महल बनाउने प्रयास गर्नुको सट्टा, तपाईंले टावर, पर्खाल र ढोकाहरू छुट्टाछुट्टै बनाउनुहुन्छ। पछि, तपाईं यी टुक्राहरूलाई जोडेर पूर्ण महल बनाउनुहुन्छ। प्रोग्रामिङमा, मोड्युलर प्रोग्रामिङ भनेको LEGO टुक्राहरू प्रयोग गरेर निर्माण गर्नु जस्तै हो। प्रत्येक टुक्रा (प्रकार्य वा मोड्युल) ले आफ्नै काम गर्छ।
प्रकार्यहरू र मोड्युलर प्रोग्रामिङ प्रयोग गर्नुका धेरै कारणहरू छन्:
यी विचारहरूले प्रोग्रामरहरूलाई जटिल समस्याहरू व्यवस्थापन गर्न र सरल तरिकाले ठूला परियोजनाहरू निर्माण गर्न मद्दत गर्छन्।
यहाँ थप उदाहरणहरू छन् जसले तपाईंलाई विभिन्न प्रकार्यहरू र तिनीहरूले कसरी काम गर्छन् भनेर देखाउँछन्।
यो प्रकार्यले दुई संख्याहरू थप्नेछ। यो एउटा जादुई बाकस जस्तै हो जसले दुई संख्याहरू लिन्छ र तपाईंलाई तिनीहरूको योग दिन्छ।
उदाहरणको लागि, ३ र २ राख्दा ५ को नतिजा आउँछ। तलको कोड हेर्नुहोस्:
def थप्नुहोस् (a, b): a + b फर्काउनुहोस्
यो प्रकार्यले तपाईंलाई दुई संख्याहरू संयोजन गर्न आवश्यक पर्दा मद्दत गर्दछ। नयाँ रंग बनाउन दुई फरक रङहरू मिलाएर जस्तै, यहाँ तपाईंले दुई संख्याहरू मिलाएर तिनीहरूको योगफल प्राप्त गर्नुहुन्छ।
यो प्रकार्यले तपाईंलाई कुनै संख्या सम वा विषम छ कि छैन भनेर बताउँछ। सम संख्यालाई २ ले भाग गर्न सकिन्छ, जबकि विषम संख्याले भाग गर्न सक्दैन।
कल्पना गर्नुहोस् तपाईंसँग स्याउको टोकरी छ। यदि तपाईंले स्याउहरूलाई जोडीमा राख्ने प्रयास गर्नुभयो र एउटा स्याउ छुट्यो भने, त्यो संख्या बिजोर हुन्छ। यो प्रकार्यले साधारण परीक्षण जस्तै काम गर्छ:
डिफल्ट चेक_नम्बर(नम्बर): यदि संख्या % २ == ०: "सम" फर्काउनुहोस् अन्यथा: "अनौठो" फर्काउनुहोस्
जब तपाईं कुनै संख्या इनपुट गर्नुहुन्छ, प्रकार्यले मोड्युलो अपरेटर प्रयोग गरेर जाँच गर्दछ (जसले भाग पछि शेष पत्ता लगाउँछ)। यदि २ ले भाग गर्दा शेष शून्य छ भने, यसले "सम" फर्काउँछ; अन्यथा, यसले "विजोर" फर्काउँछ।
यो प्रकार्यले इनपुटको रूपमा नाम लिन्छ र व्यक्तिगत अभिवादन फर्काउँछ। उदाहरणका लागि, यदि तपाईंले "एलिस" नाम दिनुभयो भने, आउटपुट "नमस्ते, एलिस!" हुनेछ।
def सिर्जना_अभिवादन(नाम): "नमस्ते, " + नाम + "!" फर्काउनुहोस्।
यो साधारण उदाहरणले कसरी मैत्रीपूर्ण सन्देशहरू सिर्जना गर्न प्रकार्यहरू प्रयोग गर्न सकिन्छ भनेर देखाउँछ। प्रत्येक प्रकार्य कलले ढोकाको घण्टी बजाउने र न्यानो स्वागत प्राप्त गर्ने जस्तै काम गर्छ।
मोड्युलर प्रोग्रामिङमा, तपाईंले प्रायः अन्य प्रकार्यहरू भित्र प्रकार्यहरू प्रयोग गर्नुहुन्छ। यसलाई "फंक्शन कम्पोजिसन" भनिन्छ। यो विभिन्न सामग्रीहरू प्रयोग गरेर स्यान्डविच बनाउनु जस्तै हो।
पूरा खाना बनाउने कार्यक्रमलाई विचार गर्नुहोस्। सलाद र स्यान्डविच बनाउनको लागि तपाईंसँग छुट्टाछुट्टै प्रकार्यहरू हुन सक्छन्। त्यसपछि, अर्को प्रकार्यले यी प्रकार्यहरूलाई पूरा खाना प्रदान गर्न बोलाउँछ।
सलाद_बनाउनुहोस्(): "ताजा सलाद" फिर्ता गर्नुहोस् def स्यान्डविच बनाउनुहोस्(): "स्वादिष्ट स्यान्डविच" फिर्ता गर्नुहोस् डिफेक्ट बनाउनुहोस्_मिल(): सलाद = सलाद बनाउनुहोस् () स्यान्डविच = स्यान्डविच बनाउनुहोस् () सलाद + "सहित" + स्यान्डविच फिर्ता गर्नुहोस्
साना प्रकार्यहरू make_salad र make_sandwich संयोजन गरेर, make_meal प्रकार्यले पूर्ण सन्देश उत्पादन गर्दछ। यदि तपाईंलाई स्यान्डविच रेसिपी परिवर्तन गर्न आवश्यक छ भने, तपाईंले केवल make_sandwich प्रकार्य परिवर्तन गर्नुहुन्छ, सम्पूर्ण खाना कोड होइन।
जब तपाईंसँग ठूलो समस्या हुन्छ, त्यसलाई भागहरूमा विभाजन गरेर समाधान गर्न सजिलो हुन्छ। प्रत्येक सानो भागलाई एउटा प्रकार्यद्वारा समाधान गर्न सकिन्छ। यो मोड्युलर प्रोग्रामिङको मूल विचार हो।
कल्पना गर्नुहोस् तपाईंको कोठा एकदमै फोहोर छ। एकैचोटि सबै सफा गर्नुको सट्टा, तपाईं एउटा योजना बनाउन सक्नुहुन्छ:
प्रत्येक चरण सरल र सजिलो छ। जब तपाईं सबै चरणहरू पूरा गर्नुहुन्छ, तपाईंको कोठा सफा हुन्छ। प्रोग्रामिङमा, प्रत्येक चरण एक प्रकार्यद्वारा व्यवस्थित गरिन्छ। यसले समस्या समाधान गर्न धेरै सजिलो बनाउँछ।
मोड्युल भनेको धेरै प्रकार्यहरू भएको फाइल हो। जब तपाईं मोड्युल सिर्जना गर्नुहुन्छ, तपाईंले आफ्नो कोड पुन: प्रयोगयोग्य र व्यवस्थित बनाउनुहुन्छ। उदाहरणका लागि, तपाईं math_tools भनिने मोड्युल सिर्जना गर्न सक्नुहुन्छ जसले आधारभूत अंकगणितका लागि प्रकार्यहरू राख्छ।
math_tools मा, तपाईंसँग add , subtract , multiply , र divide जस्ता प्रकार्यहरू हुन सक्छन्। त्यसपछि, तपाईं कोड पुन: लेख्न बिना धेरै फरक प्रोग्रामहरूमा math_tools प्रयोग गर्न सक्नुहुन्छ।
# यो math_tools.py नामक मोड्युलको उदाहरण हो। def थप्नुहोस् (a, b): a + b फर्काउनुहोस् def घटाउनुहोस् (a, b): a - b फर्काउनुहोस् def गुणन (a, b): a * b फर्काउनुहोस् परिभाषा विभाजन (a, b): यदि b != ०: a / b फर्काउनुहोस् अन्यथा: "शून्यले भाग गर्न सकिँदैन!" फर्काउनुहोस्।
यो मोड्युललाई आफ्नो कार्यक्रममा आयात गरेर, तपाईंलाई आवश्यक पर्दा फंक्शनहरू कल गर्न सक्नुहुन्छ। यसले समय बचत गर्छ र तपाईंको कामलाई सफा राख्छ।
जब तपाईं धेरै प्रकार्यहरू सँगै प्रयोग गर्नुहुन्छ, यसले तपाईंलाई ठूला कार्यक्रमहरू निर्माण गर्न मद्दत गर्दछ। प्रत्येक प्रकार्यले स्वतन्त्र रूपमा काम गर्दछ, जस्तै टोलीमा काम गर्ने कामदारहरू। यदि एक जना कामदारले राम्रो गरिरहेको छैन भने, तपाईंले सम्पूर्ण टोलीलाई असर नगरी त्यो भाग बदल्न सक्नुहुन्छ।
उदाहरणका लागि, एउटा साधारण खेलमा move_player , check_collision , र update_score जस्ता प्रकार्यहरू हुन सक्छन्। प्रत्येक प्रकार्य एउटा कार्यको लागि जिम्मेवार हुन्छ। सँगै, तिनीहरूले खेललाई सहज रूपमा सञ्चालन गर्छन्।
प्रकार्यहरूको लागि स्पष्ट र सरल नामहरू छनौट गर्नु धेरै महत्त्वपूर्ण छ। राम्रो नामले तपाईंलाई प्रकार्यले के गर्छ भनेर बताउँछ। जब तपाईं calculate_total नामक प्रकार्य देख्नुहुन्छ, तपाईंलाई तुरुन्तै थाहा हुन्छ कि यसले मानहरू थप्छ। सरल र स्पष्ट नामहरूले कोड पढ्न, बुझ्न र प्रयोग गर्न सजिलो बनाउँछ।
लामो वा भ्रामक नामहरू प्रयोग नगर्नुहोस्। प्रकार्यले गर्ने कार्यसँग प्रत्यक्ष रूपमा सम्बन्धित शब्दहरू प्रयोग गर्नुहोस्। यो बानीले नयाँ प्रोग्रामरहरूलाई पनि प्रत्येक प्रकार्यले के गर्छ भनेर बुझ्न मद्दत गर्दछ।
कहिलेकाहीँ प्रकार्यहरूले शून्यले भाग गर्ने जस्ता समस्याहरूको सामना गर्न सक्छन्। यी त्रुटिहरूलाई सुन्दर ढंगले ह्यान्डल गर्नु महत्त्वपूर्ण छ। धेरै प्रकार्यहरूले त्यस्ता त्रुटिहरूको जाँच गर्छन् र यदि केही गलत भयो भने उपयोगी सन्देश दिन्छन्।
उदाहरणको लागि, हाम्रो विभाजन प्रकार्यमा हामी देख्छौं:
परिभाषा विभाजन (a, b): यदि b != ०: a / b फर्काउनुहोस् अन्यथा: "शून्यले भाग गर्न सकिँदैन!" फर्काउनुहोस्।
यो कोडले b शून्य छ कि छैन भनेर जाँच गर्छ। यदि छ भने, प्रकार्यले तपाईंलाई शून्यले भाग गर्न सक्दैन भनेर बताउँछ। यसले प्रोग्रामलाई क्र्यास हुनबाट रोक्छ र के गलत भयो भनेर बुझ्न मद्दत गर्छ।
प्यारामिटरहरू फंक्शन भित्र प्लेसहोल्डरहरू हुन्। जब तपाईं फंक्शन कल गर्नुहुन्छ, तपाईंले आर्गुमेन्ट भनिने मानहरू पास गर्नुहुन्छ। उदाहरणका लागि, फंक्शन add(a, b) मा, a र b प्यारामिटरहरू हुन्। जब तपाईं फंक्शनलाई add(10, 5) सँग कल गर्नुहुन्छ, मानहरू 10 र 5 आर्गुमेन्टहरू बन्छ।
यो विधिले प्रकार्यलाई लचिलो बनाउँछ। तपाईंले प्रत्येक पटक प्रकार्य बोलाउँदा फरक-फरक तर्कहरू प्रयोग गर्न सक्नुहुन्छ। यो एक नुस्खा जस्तै हो। यदि तपाईंले सलादमा फरक-फरक फलहरू प्रयोग गर्नुभयो भने पनि, चरणहरू उस्तै रहन्छन्, र तपाईंले अझै पनि स्वादिष्ट सलाद पाउनुहुन्छ।
धेरै दैनिक प्रविधिहरू प्रकार्यहरू र मोड्युलर प्रोग्रामिङमा निर्भर हुन्छन्। यहाँ वास्तविक जीवनका केही उदाहरणहरू छन्:
मोड्युलर प्रोग्रामिङले लचिलो र अद्यावधिक गर्न सजिलो प्रणालीहरू सिर्जना गर्न मद्दत गर्दछ। जब एउटा भाग परिवर्तन वा मर्मत गर्न आवश्यक पर्दछ, केवल सम्बन्धित मोड्युल समायोजन गरिन्छ। यसरी, समग्र प्रणालीले सहज रूपमा काम गर्न जारी राख्छ।
नयाँ प्रोग्रामरहरूले फंक्शनहरू लेख्दा गर्न सक्ने केही सामान्य गल्तीहरू छन्। यी कुराहरू जानेर, तपाईं तिनीहरूबाट बच्न सक्नुहुन्छ:
यी गल्तीहरूबाट बच्नाले, तपाईं सफा र अझ प्रभावकारी कोड लेख्न सक्नुहुन्छ। यसले तपाईंको कार्यक्रमहरूलाई मर्मत गर्न र बुझ्न सजिलो बनाउँछ।
प्रकार्यहरू मोड्युलहरूको निर्माण ब्लकहरू हुन्। मोड्युल भनेको धेरै प्रकार्यहरू भएको उपकरण बाकस जस्तै हो। जसरी तपाईंले समान उपकरणहरू सँगै राख्नुहुन्छ, त्यसरी नै तपाईंले मोड्युलमा सम्बन्धित प्रकार्यहरूलाई समूहबद्ध गर्नुहुन्छ। यसरी, जब तपाईंलाई कुनै विशेष कार्य गर्न आवश्यक पर्दछ, तपाईंलाई कहाँ हेर्ने भनेर ठ्याक्कै थाहा हुन्छ।
उदाहरणका लागि, तपाईंसँग गणितीय सञ्चालनको लागि एउटा मोड्युल, स्ट्रिङ ह्यान्डल गर्ने मोड्युल र मितिहरूसँग काम गर्ने अर्को मोड्युल हुन सक्छ। प्रत्येक मोड्युलले यसको क्षेत्रसँग सम्बन्धित कार्यहरू व्यवस्थित गर्दछ। परियोजनाहरू ठूला हुँदा यो संरचना धेरै उपयोगी हुन्छ।
जब तपाईं प्रोग्रामिङमा ठूलो समस्याको सामना गर्नुहुन्छ, सबैभन्दा राम्रो तरिका भनेको यसलाई साना समस्याहरूमा विभाजन गर्नु हो। प्रत्येक सानो समस्यालाई फंक्शन लेखेर समाधान गर्न सकिन्छ। सबै साना भागहरू समाधान भएपछि, तिनीहरूलाई पूर्ण समाधान बनाउन एकसाथ राखिन्छ।
यो दृष्टिकोण जिगस पजल समाधान गर्नु जस्तै हो। तपाईंले टुक्राहरूबाट सुरु गर्नुहोस् र त्यसपछि पूर्ण तस्वीर हेर्नको लागि तिनीहरूलाई एक-एक गरेर जोड्नुहोस्। प्रत्येक सानो भागले सही रूपमा काम गर्छ भन्ने जान्दा अन्तिम परिणाम बलियो र भरपर्दो हुन्छ।
तपाईंको प्रकार्यहरू लेख्दा यहाँ केही सरल सुझावहरू दिइएका छन्:
यी सुझावहरू प्रयोग गरेर, तपाईंले धेरै परियोजनाहरूमा पुन: प्रयोग गर्न सकिने बलियो र बुझ्न सजिलो प्रकार्यहरू निर्माण गर्न सक्नुहुन्छ।
प्रोग्राममा प्रकार्यहरू लेख्न र प्रयोग गर्नको लागि एउटा सरल चरण-दर-चरण प्रक्रिया पार गरौं:
यो प्रक्रियाले तपाईंलाई मोड्युलर तरिकाले कार्यक्रमहरू निर्माण गर्न मद्दत गर्छ। प्रत्येक सानो भाग एउटा प्रकार्यद्वारा गरिन्छ, र सबै भागहरू अन्तिम कार्यक्रमको लागि एकसाथ आउँछन्।
यस पाठबाट लिइएका प्रमुख विचारहरूको समीक्षा गरौं:
यस पाठले फंक्शनहरू र मोड्युलर प्रोग्रामिङको प्रयोगले तपाईंको कोडिङ जीवनलाई कसरी सरल र रमाइलो बनाउन सक्छ भनेर देखाएको छ। प्रत्येक फंक्शन एउटा उपयोगी उपकरण जस्तै हो जसले ठूलो परियोजनाको अंश पूरा गर्दछ। जब तपाईं यी उपकरणहरूलाई एकसाथ राख्नुहुन्छ, तपाईंले सफा, व्यवस्थित र बुझ्न सजिलो कार्यक्रमहरू निर्माण गर्नुहुन्छ।
सम्झनुहोस्, राम्रो प्रोग्रामिङको कुञ्जी भनेको समस्याहरूलाई साना, व्यवस्थित टुक्राहरूमा विभाजन गर्नु हो। चाहे तपाईं संख्याहरू थप्दै हुनुहुन्छ, कसैलाई अभिवादन गर्दै हुनुहुन्छ, वा खेल बनाउँदै हुनुहुन्छ, प्रकार्यहरूले तपाईंलाई चरणबद्ध रूपमा यो गर्न मद्दत गर्दछ। मोड्युलर प्रोग्रामिङ भनेको रणनीति हो जसले तपाईंलाई सरल, स्पष्ट भागहरू प्रयोग गरेर जटिल प्रणालीहरू निर्माण गर्न दिन्छ।
तपाईंले फंक्शनहरू लेख्ने र मोड्युलहरूमा आफ्नो कोड राख्ने अभ्यास गर्दा, तपाईं समस्याहरू समाधान गर्न अझ राम्रो हुनुहुनेछ। तपाईंले लेख्ने प्रत्येक सानो फंक्शन ठूला र प्रभावशाली कार्यक्रमहरू सिर्जना गर्ने दिशामा एक कदम हो। कुनै पनि रमाइलो पजल वा भवन सेटमा जस्तै तपाईंले आफ्नो कोड प्रयोग, परीक्षण र सुधार गरिरहनुहोस्!