目次
1. परिचय
Python आफ्नो सरलता र सहज सिन्ट्याक्सका कारण धेरै प्रोग्रामरहरूद्वारा प्रेमपूर्वक प्रयोग गरिन्छ, तर अन्य भाषाहरूमा रहेको「switch-case」सिन्ट्याक्स नहुनुमा केही मानिसहरू अचम्म मान्न सक्छन्। त्यसकारण, Python मा「if-elif-else」वा「डिक्शनरी(dictionary)」प्रयोग गरेर समान प्रक्रिया कार्यान्वयन गर्न आवश्यक पर्छ। यस लेखमा, Python मा परम्परागत सर्त शाखा विधिहरू, डिक्शनरी प्रयोग गरेर वैकल्पिक उपायहरू, र Python 3.10 मा प्रस्तुत नयाँ「match-case」वाक्यबारे क्रमशः व्याख्या गर्नेछौं। यसले तपाईंलाई Python मा प्रभावकारी सर्त शाखा गर्ने तरिका मास्टर गर्न, र वास्तविक कोडिङमा उपयोगी बनाउनेछ।2. Python मा switch कथन नहुनुको कारण
Python मा switch-case कथन नअपनाइएको कारण यसको सरलता र पढ्न सजिलो हुनुमा छ।Python का डिजाइनरहरूले भाषालाई सकेसम्म संक्षिप्त बनाउने, दोहोर्याइ र अनावश्यक संरचनाहरूलाई हटाउने लक्ष्य राखेका छन्।switch कथन अन्य भाषाहरूमा उपयोगी भए पनि, Python मा “if-elif-else” कथन वा शब्दकोश प्रकार प्रयोग गरेर समान कार्यक्षमता हासिल गर्न सकिन्छ, त्यसैले switch कथन थप्न आवश्यक छैन भन्ने मानिन्छ। वास्तवमा, Python को आधिकारिक दस्तावेजमा पनि if-elif-else कथन प्रयोग गरेर switch कथनको कार्यक्षमता कभर गर्न सकिन्छ भन्ने उल्लेख छ।तलको कोड C भाषा आदि को switch कथनको उदाहरण हो।switch (value) {
case 1:
printf("Value is 1");
break;
case 2:
printf("Value is 2");
break;
default:
printf("Other value");
}
Python मा, यसलाई तलको जस्तै लेख्न सम्भव छ।value = 1
if value == 1:
print("Value is 1")
elif value == 2:
print("Value is 2")
else:
print("Other value")
यस विधिले, Python ले switch कथन बिना पनि सर्त विभाजनलाई सजिलै कार्यान्वयन गर्न सक्छ।
3. if-elif-else को प्रयोग उदाहरण
Python मा सर्त विभाजन गर्ने सबैभन्दा आधारभूत तरिका “if-elif-else” कथन हो। यो धेरै सर्तहरूमा आधारित विभिन्न कार्यहरू कार्यान्वयन गर्दा अत्यन्त प्रभावकारी हुन्छ। तल यसको सामान्य प्रयोग उदाहरण छ।value = 100
if value < 50:
print("सानो मान हो")
elif value < 100:
print("मध्यम मान हो")
else:
print("ठूलो मान हो")
यो कोडमा, चल value
को मान अनुसार विभिन्न सन्देशहरू आउटपुट हुन्छन्। if-elif-else कथनले सरल र सहज सर्त विभाजन सम्भव बनाउँछ।सर्तहरू बढ्दा उत्पन्न हुने समस्याहरू
तर, if-elif-else कथनको स्तर गहिरो भएमा कोड पढ्न कठिन हुन सक्छ। विशेष गरी, जटिल सर्तहरूलाई ह्यान्डल गर्दा, अर्को परिचय गराइने “डिक्शनरी प्रकार” प्रयोग गर्ने विधि प्रभावकारी हुन्छ।4. शब्दकोश प्रकार (dictionary) प्रयोग गरेर सर्त शाखा
Python को शब्दकोश प्रकार प्रयोग गरेर, switch-case कथन जस्तै सर्त शाखा कार्यान्वयन गर्न सकिन्छ। शब्दकोश भनेको कुञ्जी र मानको जोडीहरू संग्रह गर्ने डेटा संरचना हो, जसले धेरै सर्त शाखाहरूलाई संक्षिप्त रूपमा व्यक्त गर्न सक्छ। अगामी उदाहरणमा, प्रयोगकर्ताद्वारा इनपुट गरिएको संख्याको आधारमा सम्बन्धित परिणाम देखाइन्छ।numbers = {1: "एक", 2: "दुई", 3: "तीन"}
value = int(input("कृपया 1~3 को संख्या प्रविष्ट गर्नुहोस्: "))
if value in numbers:
print(f"छानिएको संख्या: {numbers[value]}")
else:
print("कृपया 1~3 को संख्या प्रविष्ट गर्नुहोस्")
यसरी, शब्दकोश प्रकार प्रयोग गरेर, सर्तहरू धेरै भए पनि कोड छोटो र पढ्न सजिलो राख्न सकिन्छ।शब्दकोश प्रकारको फाइदा
शब्दकोश प्रयोग गरेर सर्त शाखा गर्दा, सर्तहरू बढे पनि कोडको पठनीयता उच्च रहन्छ, र मर्मतसम्भार सजिलो हुन्छ, जुन ठूलो फाइदा हो। विशेष गरी, मानहरूमा विभिन्न प्रक्रिया हुँदा, if-elif-else कथनभन्दा बढी प्रभावकारी हुन्छ।5. Python 3.10 को नयाँ सुविधा: match-case कथनको परिचय
Python 3.10 बाट परिचय गराइएको “match-case” कथन स्विच-केस कथनसँग धेरै नजिकको संरचना हो, जसले धेरै शर्तहरूलाई संक्षिप्त रूपमा लेख्न सक्छ। यो नयाँ सुविधा विशेष गरी प्याटर्न मिलानमा बलियो छ, र परम्परागत if-elif-else कथन वा शब्दकोश प्रकार प्रयोग गर्ने तरिकासँग तुलना गर्दा कोडको पढ्नयोग्यता र मर्मतयोग्यता उल्लेखनीय रूपमा सुधार्छ।match-case को मूल संरचना
निम्नलिखित match-case कथनको मूल प्रयोग उदाहरण हो।def check_value(value):
match value:
case 1:
print("१ चयन गरियो")
case 2:
print("२ चयन गरियो")
case _:
print("१ वा २ बाहेक चयन गरियो")
यो कोडमा, चल value
को मान अनुसार विभिन्न प्रक्रिया कार्यान्वयन हुन्छ। case _
डिफल्ट प्रक्रिया हो, जुन कुनै पनि शर्तसँग मेल नखाएमा कार्यान्वयन हुन्छ।6. match-case को प्रयोगात्मक उदाहरणहरू
match-case कथन अधिक जटिल सर्त विभाजन र ढाँचा मिलानका लागि उपयुक्त छ। उदाहरणका लागि, सूचीको तत्व संख्या वा डेटा प्रकार अनुसार प्रक्रिया गर्न सम्भव छ।बहु सर्तहरूलाई सम्बोधन गर्ने match-case कथन
def process_data(data):
match data:
case [x, y]:
print(f"सूचीमा 2 वटा तत्वहरू समावेश छन्: {x}, {y}")
case [x, y, z]:
print(f"सूचीमा 3 वटा तत्वहरू समावेश छन्: {x}, {y}, {z}")
case _:
print("सूचीको तत्व संख्या फरक छ")
यस उदाहरणमा, सूचीको तत्व संख्याअनुसार विभिन्न प्रक्रिया गरिन्छ। match-case कथन यसरी, बहु सर्तहरू र ढाँचाहरूलाई सरल रूपमा लेख्न सक्ने विशेषता राख्दछ।
7. if-elif-else, शब्दकोश प्रकार, match-case को तुलना
प्रत्येक सर्त शाखा विधिमा आफ्नै फाइदा र बेफाइदा छन्। तल, त्यसको तुलना तालिका देखाइन्छ।विधि | फाइदा | बेफाइदा |
---|---|---|
if-elif-else | सरल र सहज | सर्तहरू धेरै भएमा कोड जटिल हुन्छ |
शब्दकोश प्रकार(dictionary) | पढ्न सजिलो, सर्तहरू धेरै भएमा उपयोगी | सबै सर्तहरू शब्दकोशमा समेट्न सकिँदैन |
match-case | बहु सर्त शाखा र ढाँचा मिलानमा उपयोगी | Python 3.10 पछि मात्र उपलब्ध |