पायथन आर्गपर्स बूलियन फ्लैग

Payathana Argaparsa Buliyana Phlaiga



एक ध्वज एक बूलियन चर है जो एक निश्चित परिस्थिति होने पर प्रोग्रामर को सचेत करता है। यदि बूलियन ध्वज सत्य का प्रतिनिधित्व करता है, तो यह इंगित करता है कि कुछ स्थिति मौजूद है। जब एक बूलियन ध्वज असत्य का प्रतिनिधित्व करता है, तो यह दर्शाता है कि एक निश्चित स्थिति सत्य नहीं है। यह निर्धारित करने के लिए कि विधेय पार्स 'सत्य' या 'गलत' है, 'आर्गपर्स' बूलियन ध्वज पास होने वाले तर्कों को पार्स करता है। कमांड-लाइन तर्कों की व्याख्या करने के लिए 'आर्गपर्स' नामक एक मानक पायथन पैकेज को नियोजित किया जा सकता है। यह गतिविधि को बेहतर ढंग से नियंत्रित करता है और कोड के लिए सरल है। जब हम कुछ गलत तर्क प्रदान करते हैं तो उपयोगकर्ता के लिए मार्गदर्शन और उपयोग संदेश उत्पन्न होता है। इसके अतिरिक्त, यह दिखाता है कि उपयोगकर्ता त्रुटियाँ जारी करता है। 'Argparse' मॉड्यूल का उपयोग करना आसान है। स्टोर सही विकल्प का डिफ़ॉल्ट मान गलत है, जबकि स्टोर गलत का डिफ़ॉल्ट मान सही है। 'Argparse' मॉड्यूल का उपयोग करने के लिए, हमें तीन प्रमुख चरणों का पालन करना होगा: पहले एक पार्सर का निर्माण करना, पार्सर को अधिक तर्क देना और पैरामीटर का विश्लेषण करना।

वाक्य - विन्यास:

Python 'argparse' बूलियन फ़्लैग के लिए आवश्यक सिंटैक्स निम्नलिखित में दिया गया है:








सिंटैक्स को पहले एक फ़ंक्शन बनाने की आवश्यकता होती है जो चर और पुस्तकालयों को संग्रहीत करता है जहां तर्क पारित किया जाता है, और आवश्यकता के अनुसार स्थिति निर्धारित की जाती है। हमारी स्थितियों के लिए 'सही' या 'गलत' के लिए दो बूलियन वर्बोज़ की जाँच की जाती है।



उदाहरण 1: Python 'Argparse' बूलियन फ़्लैग के शांत विस्तार का उपयोग करना

साधारण बूलियन ध्वज केवल उन तर्कों को पार्स करता है जो एकल या एकाधिक तर्क हो सकते हैं जो तर्क परिदृश्य की ओर देखते हैं, चाहे उत्तीर्ण स्थिति 'सत्य' हो या 'गलत'।




अब, यहां से अपने कोड स्निपेट पर चर्चा करते हैं।





हमारे कोड की शुरुआत में, हम 'अर्गपर्स' की लाइब्रेरी आयात करते हैं जो पायथन तर्कों को पार्स करने से संबंधित है। फिर, हम अपना यूज़र-डिफ़ाइंड 'argparse_Boolean' फ़ंक्शन बनाते हैं, और इसे लाइब्रेरी में कहां आवंटित करना है। फिर, हम अपने 'argparse_Boolean' फ़ंक्शन में अपना पहला तर्क पास करते हैं जो 'add_argument ()' फ़ंक्शन का उपयोग करके 'कार' है। पारित किया गया दूसरा तर्क केवल एक 'वर्बोज़' निर्दिष्ट करता है, जहाँ पर की जाने वाली क्रिया जो हमने उन्हें प्रदान की है, 'ट्रू' वर्बोज़ को संग्रहीत करता है। अब, हम 'बूलियन_फ्लैग' का एक नया कार्य बनाते हैं जिसका उपयोग तर्कों को पार्स करने के लिए पूर्वनिर्धारित लाइब्रेरी को कॉल करने के लिए किया जाता है। अंत में, हम 'कार' और 'वर्बोज़' दोनों तर्कों के लिए 'प्रिंट ()' फ़ंक्शन का उपयोग करते हैं।


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



उदाहरण 2: बूलियन मान के रूप में पायथन द्वारा प्रेरित तर्क पार्सिंग का उपयोग

यह उदाहरण किसी तरह पिछले उदाहरण के समान है। यहां, हम उपयोगकर्ता द्वारा परिभाषित तर्कों के लिए बूलियन वैल्यू क्रियाओं पर चर्चा करेंगे। यदि हम बूलियन वर्बोज़ क्रिया के लिए तर्क चुनना चाहते हैं, तो हम इस विधि का उपयोग कर सकते हैं।


इस कोड उदाहरण में, लाइब्रेरी वही 'आर्गपर्स' बनी हुई है जिसका उपयोग पिछले एक में किया गया था। बनाए गए फ़ंक्शन को अब 'बूलियन_पार्सर' नाम दिया गया है। हमारे द्वारा प्रदान किए जाने वाले तर्क दो  वैरिएबल हैं - 'First_Variable' और 'Second_Variable' - जहां पहले तर्क के लिए कार्रवाई को 'गलत' के रूप में संग्रहीत किया जाता है और दूसरे तर्क को 'सत्य' के रूप में संग्रहीत किया जाता है। अंत में, हम 'parser_args ()' फ़ंक्शन का उपयोग करके 'बूलियन_पार्सर' फ़ंक्शन को कॉल करते हैं और इसे 'Flag_Argument' में संग्रहीत करते हैं। इसके विज़ुअलाइज़ेशन के लिए, हम 'प्रिंट ()' फ़ंक्शन का उपयोग करते हैं और इसे 'Flag_Argument' में निर्दिष्ट करते हैं।


यह पिछले कोड उदाहरण का आउटपुट स्नैपशॉट है जो बूलियन मानों को 'First_Variable' के लिए 'True' और 'Second_Variable' के लिए 'False' के रूप में विस्तृत करता है।

उदाहरण 3: कंडिशनल स्टेटमेंट्स को संचालित करके 'आर्गपर्स' बूलियन फ्लैग का उपयोग करना

जैसा कि नाम से ही स्पष्ट है, शर्तों को प्रबंधित करने के लिए आपके प्रोग्राम में एक कंडीशनल स्टेटमेंट का उपयोग किया जाता है। ये अभ्यास कार्यक्रम के दिशानिर्देश हैं जब यह उन परिस्थितियों के जवाब में निर्णय लेता है जो इसका सामना करते हैं। पायथन में मुख्य सशर्त बयान 'अगर', 'अगर-और' और 'स्विच' बयान हैं। यहाँ, हम “if-else” कंडीशनल स्टेटमेंट से गुजरेंगे।


जब हम तर्क पार्सिंग से निपटते हैं तो लाइब्रेरी वही 'आर्गपर्स' रहती है। हमारे द्वारा यहां बनाए गए फ़ंक्शन का नाम 'parser_flag' है। हमारे द्वारा निर्दिष्ट पहला तर्क 'प्रदर्शन-क्रिया' है और यहां दिया गया डिफ़ॉल्ट मान 'गलत' है जहां 'कार्रवाई' 'सत्य' संग्रहीत करती है। तर्क पारित करने के बाद, हम 'arguments_flag' नामक एक नया फ़ंक्शन बनाते हैं और इसे पिछले उपयोगकर्ता-परिभाषित फ़ंक्शन 'parser_flag' के साथ इसके तर्कों के साथ कहते हैं। यहां, हम 'यदि-अन्य' के अपने सशर्त कथन को लागू करते हैं। हमारा 'if-कंडीशन' स्टोर करता है यदि 'प्रिंट ()' फ़ंक्शन और प्रिंट स्टेटमेंट 'अपना कार्य करें' के बाद पास किया गया तर्क सही है। 'अन्य-स्थिति' में, यदि पहला तर्क पार्स 'सत्य' नहीं है, तो 'डिफ़ॉल्ट' में 'गलत' का 'अन्य-कथन' करें। अंत में, हम प्रिंट स्टेटमेंट के लिए दो बार “प्रिंट ()” फ़ंक्शन का उपयोग करते हैं जो तर्कों को निष्पादित करके कार्रवाई प्रदर्शित करता है।


आउटपुट स्नैपशॉट यह निर्धारित करता है कि पास किया गया तर्क 'एल्से-स्टेटमेंट' को 'गलत' वर्बोज़ के साथ प्रिंट स्टेटमेंट के साथ चलाता है जो हम कोड में प्रदान करते हैं।

उदाहरण 4: 'डिस्टुटिल्स' मॉड्यूल को संचालित करके Python 'Argparse' बूलियन फ़्लैग का उपयोग करना

एक पायथन इंस्टॉलेशन 'डिस्टुटिल्स' मॉड्यूल की मदद से पुस्तकालयों को संकलित और पुनर्स्थापित कर सकता है। नए मॉड्यूल सी में लिखे आउटग्रोथ हो सकते हैं, सादा पायथन मॉड्यूल, या टूल और सुविधाओं का संग्रह जिसमें पायथन भाषा में लिखे मॉड्यूल शामिल हैं।


'Argparse' लाइब्रेरी आयात करने के बाद, हम 'strtobool' की अतिरिक्त लाइब्रेरी आयात करके 'distutils.util' मॉड्यूल लागू करते हैं। फिर, हम 'python_argparse r' का दाह संस्कार करते हैं और इसे लाइब्रेरी से जोड़ते हैं। उसके बाद, हम 'बूलियन' के 'python_argparse r' में एक तर्क जोड़ते हैं। प्रदान किया गया प्रकार 'लैम्ब्डा' है और वेरिएबल 'बी' में संग्रहीत है जिसे 'स्ट्रेटोबूल' लाइब्रेरी के साथ असाइन किया गया है। 'डिफ़ॉल्ट' स्थिति के लिए यहां बूलियन मान 'ट्रू' पर सेट है और 'कॉन्स्ट' 'गलत' पर सेट है। पार्स करने के बाद, हम इसे बनाने के बाद इसे 'बूलियन_आर्ग्युमेंट्स' में स्टोर करते हैं। फिर, हम 'प्रिंट ()' फ़ंक्शन में 'बूलियन_आर्गमेंट्स' कहते हैं।


जैसे ही पास किया गया तर्क पढ़ा जाता है, आउटपुट 'ट्रू' प्रदर्शित करता है क्योंकि शर्त डिफ़ॉल्ट रूप से लागू होती है।

उदाहरण 5: 'डिस्टुटिल्स' मॉड्यूल को कंडीशनल स्टेटमेंट के साथ ऑपरेट करके Python 'Argparse' बूलियन फ़्लैग का उपयोग करना

बूलियन ध्वज में तर्क पार्सिंग की घटना को लागू करने के लिए डिस्टुटिल्स मॉड्यूल के साथ सशर्त बयानों को संचालित किया जा सकता है।


एक ही समय में एक साथ सशर्त बयान और डिस्टुटिल्स मॉड्यूल के उपयोग की खोज के लिए कोड स्निपेट पर एक नजर डालते हैं। इस उद्देश्य के लिए, हम “argparse”  लाइब्रेरी आयात करते हैं और “distutils.util” मॉड्यूल लागू करते हैं। फिर, हम इसी तरह 'स्ट्रेटोबूल' लाइब्रेरी आयात करते हैं जिसका उपयोग पिछले उदाहरण में किया गया था। तर्कों के लिए पार्स बनाने के लिए हम जो फ़ंक्शन बनाते हैं उसका नाम 'bool_parser' है। हम 'दयालु' तर्क और 'प्रकार' को 'str', 'nargs' के रूप में '?', 'const' को 'गलत' और 'डिफ़ॉल्ट' को 'True' के रूप में जोड़ते हैं। अब, हम 'bool_arguments' का एक नया फ़ंक्शन बनाते हैं जिसे हम पिछले फ़ंक्शन को उसके तर्क के साथ असाइन करते हैं जिसे हम पार्स करते हैं। यहां, हम कंडीशन स्टेटमेंट लागू करते हैं जहां 'if' कंडीशन निर्धारित करती है कि यदि पारित तर्क मौजूद है, तो यह प्रिंट संदेश के साथ 'True' प्रदर्शित करता है, 'आपका बूलियन फ्लैग है'। फिर, यह 'प्रकार' तर्क के वर्बोज़ को प्रिंट करता है जिसे हमने 'प्रिंट ()' में असाइन किया था। अन्यथा, यह बूलियन अभिव्यक्ति के रूप में डिफ़ॉल्ट रूप से 'गलत' होगा।


आउटपुट स्नैपशॉट में, हम देख सकते हैं कि इफ-स्टेटमेंट ट्रू है इसलिए यह हमारे प्रिंट स्टेटमेंट के साथ 'ट्रू' प्रदर्शित करता है।

निष्कर्ष

हमारे लेख में, हमने बूलियन ध्वज में तर्क पार्स की प्रमुख अवधारणाओं को शामिल किया। इस उद्देश्य के लिए, हमने विषय को गहराई से और आसानी से समझाने के लिए पाँच उदाहरणों का उपयोग किया। हमने 'if' या 'else', 'distutils' मॉड्यूल के कंडीशनल स्टेटमेंट और 'distutil' मॉड्यूल के साथ कंडीशनल स्टेटमेंट यूसेज का उपयोग करके तर्क पार्स पर चर्चा की। इन तरीकों से, हमने 'सही' या 'गलत' की बूलियन फ़्लैग अवधारणा के साथ  तर्क पारित किया। तर्क को पार्स करने के बाद, यह हमारे प्रतिनिधि डेटा के अनुसार इसकी क्रिया का प्रतिनिधित्व करता है।