संरचनात्मक पैटर्न मिलान पायथन में एक शक्तिशाली सुविधा है जो आपको जटिल डेटा की संरचना के आधार पर निर्णय लेने और उससे वांछित मान निकालने की अनुमति देता है। यह सशर्त तर्क को व्यक्त करने के लिए एक संक्षिप्त और घोषणात्मक तरीका प्रदान करता है और कोड पठनीयता और रखरखाव में काफी सुधार कर सकता है। इस लेख में, हम पायथन में संरचनात्मक पैटर्न मिलान का उपयोग करने के कुछ वास्तविक केस स्टडी उदाहरणों का पता लगाएंगे।
1. एपीआई प्रतिक्रियाओं को पार्स करना
संरचनात्मक पैटर्न मिलान के लिए एक सामान्य उपयोग मामला एपीआई प्रतिक्रियाओं को पार्स करना है। कल्पना कीजिए कि आप एक मौसम एपीआई के साथ काम कर रहे हैं जो निम्नलिखित प्रारूप में डेटा लौटाता है:
{ "current_weather": { "location": "New York", "temperature": 25, "conditions": "Sunny" } }
इस प्रतिक्रिया से तापमान निकालने के लिए, आप निम्नानुसार संरचनात्मक पैटर्न मिलान का उपयोग कर सकते हैं:
response = { "current_weather": { "location": "New York", "temperature": 25, "conditions": "Sunny" } } match response: case {"current_weather": {"temperature": temp}}: print(f"The current temperature in {response['current_weather']['location']} is {temp} degrees Celsius.") case _: print("Invalid response.")
यह पैटर्न "current_weather" कुंजी के साथ किसी भी शब्दकोश से मेल खाता है, और उस कुंजी के भीतर, यह "तापमान" मान से मेल खाता है और इसे परिवर्तनीय तापमान के रूप में निकालता है। यह आपको कुंजियों के अस्तित्व की जांच करने के लिए एकाधिक if कथन लिखे बिना आसानी से वांछित डेटा तक पहुंचने की अनुमति देता है।
2. डाटा प्रासेसिंग
बड़े डेटासेट के साथ काम करते समय संरचनात्मक पैटर्न मिलान भी उपयोगी हो सकता है। कल्पना कीजिए कि आपके पास एक डेटासेट है जिसमें विभिन्न उत्पादों के बारे में जानकारी है, जिसमें उनका नाम, श्रेणी और कीमत शामिल है। आप डेटासेट को केवल एक निश्चित मूल्य सीमा से नीचे के उत्पादों को शामिल करने के लिए फ़िल्टर करना चाहते हैं। आप वांछित डेटा निकालने और उसे निम्नानुसार फ़िल्टर करने के लिए पैटर्न मिलान का उपयोग कर सकते हैं:
products = [ {"name": "Smartphone", "category": "Electronics", "price": 500}, {"name": "T-shirt", "category": "Clothing", "price": 20}, {"name": "Headphones", "category": "Electronics", "price": 100}, {"name": "Jeans", "category": "Clothing", "price": 50}, ] match products: case [{"category": "Electronics", "price": price} for price in range(200)] as electronics: print([product["name"] for product in electronics]) case [{"category": "Clothing", "price": price} for price in range(40)] as clothing: print([product["name"] for product in clothing]) case _: print("No products found.")
इस उदाहरण में, पैटर्न श्रेणी और मूल्य बाधाओं के आधार पर मेल खाते हैं और मान निकालते हैं। यह डेटासेट को फ़िल्टर करने के लिए अधिक संक्षिप्त और पठनीय दृष्टिकोण की अनुमति देता है।
3. उपयोगकर्ता इनपुट को मान्य किया जा रहा है
उपयोगकर्ता इनपुट को मान्य करने के लिए संरचनात्मक पैटर्न मिलान भी उपयोगी हो सकता है। कल्पना कीजिए कि आप एक वेबसाइट के लिए साइन-अप फॉर्म बना रहे हैं, और आप यह सुनिश्चित करना चाहते हैं कि उपयोगकर्ता का ईमेल सही प्रारूप में है और उनका पासवर्ड कुछ आवश्यकताओं को पूरा करता है। आप इन सत्यापनों को निम्नानुसार निष्पादित करने के लिए पैटर्न मिलान का उपयोग कर सकते हैं:
import re email = "[email protected]" password = "12345" match email: case _ if not re.match(r"^\w @[a-zA-Z_] ?\.[a-zA-Z]{2,3}$", email): print("Invalid email format.") case _ if len(password)यह पैटर्न रेगुलर एक्सप्रेशन का उपयोग करके ईमेल प्रारूप से मेल खाता है और मान्य करता है, और पासवर्ड की लंबाई लंबाई की जांच का उपयोग करके करता है। आवश्यकतानुसार अतिरिक्त सत्यापन शामिल करने के लिए इस दृष्टिकोण को आसानी से बढ़ाया जा सकता है।
4. गतिशील रूप से प्रेषण कार्य
संरचनात्मक पैटर्न मिलान के लिए एक और दिलचस्प उपयोग मामला इनपुट मापदंडों के आधार पर कार्यों को गतिशील रूप से भेजना है। कल्पना कीजिए कि आप एक कैलकुलेटर प्रोग्राम के साथ काम कर रहे हैं जहां उपयोगकर्ता एक ऑपरेशन और दो नंबर दर्ज कर सकता है, और प्रोग्राम उनके लिए गणना करेगा। आप निर्दिष्ट ऑपरेशन के आधार पर सही फ़ंक्शन निष्पादित करने के लिए पैटर्न मिलान का उपयोग निम्नानुसार कर सकते हैं:from operator import add, sub, mul, truediv as div def calculate(operator, num1, num2): match operator: case " ": return add(num1, num2) case "-": return sub(num1, num2) case "*": return mul(num1, num2) case "/": return div(num1, num2) case _: print("Invalid operation.") result = calculate("*", 5, 3) print(f"The result is: {result}") # Output: The result is: 15यह पैटर्न निर्दिष्ट ऑपरेटर से मेल खाता है और ऑपरेटर मॉड्यूल से संबंधित फ़ंक्शन निष्पादित करता है। यह एकाधिक if कथन लिखे बिना विभिन्न परिचालनों को संभालने के लिए एक संक्षिप्त और विस्तार योग्य दृष्टिकोण प्रदान करता है।
निष्कर्ष
पायथन में संरचनात्मक पैटर्न मिलान एक शक्तिशाली विशेषता है जो संक्षिप्त, घोषणात्मक और चयनात्मक कोड की अनुमति देता है। इसका उपयोग एपीआई प्रतिक्रियाओं को पार्स करने से लेकर उपयोगकर्ता इनपुट को सत्यापित करने और गतिशील रूप से प्रेषण कार्यों तक विभिन्न परिदृश्यों में किया जा सकता है। संरचनात्मक पैटर्न का लाभ उठाकर, आप अपने कोड की पठनीयता और रखरखाव में सुधार कर सकते हैं और जटिल तर्क को अधिक प्रबंधनीय बना सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3