পাইথন ম্যাচ স্টেটমেন্ট
ম্যাচ স্টেটমেন্টটি বিভিন্ন শর্তের উপর ভিত্তি করে বিভিন্ন ক্রিয়া সম্পাদন করতে ব্যবহৃত হয়।
একাধিক if..else স্টেটমেন্ট লেখার পরিবর্তে, আপনি ম্যাচ স্টেটমেন্ট ব্যবহার করতে পারেন।
ম্যাচ স্টেটমেন্টটি কার্যকর করার জন্য বেশ কয়েকটি কোড ব্লকের মধ্যে একটি নির্বাচন করে।
সিনট্যাক্স
match expression:
case x:
code block
case y:
code block
case z:
code block
এটি কিভাবে কাজ করে:
- ম্যাচ এক্সপ্রেশন একবার মূল্যায়ন করা হয়.
- অভিব্যক্তির মান প্রতিটি ক্ষেত্রের মানগুলির সাথে তুলনা করা হয়।
- একটি মিল থাকলে, সংশ্লিষ্ট কোড ব্লক কার্যকর করা হয়।
নীচের উদাহরণটি সপ্তাহের দিন সংখ্যা ব্যবহার করে সপ্তাহের দিনের নাম মুদ্রণ করে:
উদাহরণ
day = 4
match day:
case 1:
print("Monday")
case 2:
print("Tuesday")
case 3:
print("Wednesday")
case 4:
print("Thursday")
case 5:
print("Friday")
case 6:
print("Saturday")
case 7:
print("Sunday")
ডিফল্ট মান
অন্য কোন মিল না থাকলে আপনি যদি কোডের একটি ব্লক চালাতে চান, তাহলে শেষ কেস মান হিসাবে আন্ডারস্কোর _ অক্ষর ব্যবহার করুন:
উদাহরণ
day = 4
match day:
case 6:
print("Today is Saturday")
case 7:
print("Today is Sunday")
case _:
print("Looking forward to the Weekend")
দ্রষ্টব্য:
_ মান সর্বদা প্রযোজ্য, তাই এটিকে ডিফল্ট কেস করতে শেষ কেস হিসাবে রাখা গুরুত্বপূর্ণ।
একীভূত মান
পাইপ | কেস মূল্যায়নে একজন অপারেটর হিসাবে একটি ক্ষেত্রে একাধিক মানের মিল পরীক্ষা করতে অক্ষরটি ব্যবহার করুন:
উদাহরণ
day = 4
match day:
case 1 | 2 | 3 | 4 | 5:
print("Today is a weekday")
case 6 | 7:
print("I love weekends!")
রক্ষক হিসাবে যদি বিবৃতি ব্যবহার করা
আপনি যদি অতিরিক্ত শর্ত-পরীক্ষা হিসাবে মামলা মূল্যায়নে বিবৃতি যোগ করতে পারেন:
উদাহরণ
month = 5
day = 4
match day:
case 1 | 2 | 3 | 4 | 5 if month == 4:
print("A weekday in April")
case 1 | 2 | 3 | 4 | 5 if month == 5:
print("A weekday in May")
case _:
print("No match")
বর্ণনা:
এখানে, একই দিনের মান বিভিন্ন মাসের জন্য বিভিন্ন আউটপুট দেয় কারণ if স্টেটমেন্ট অতিরিক্ত শর্ত হিসাবে কাজ করে।
আরো উদাহরণ
উদাহরণ
বিভিন্ন ধরনের ইনপুট পরিচালনা করা:
item = "apple"
match item:
case "apple" | "banana" | "orange":
print("It's a fruit")
case "carrot" | "potato":
print("It's a vegetable")
case _:
print("Unknown item")
উদাহরণ
ভেরিয়েবল ব্যবহার করে:
status_code = 404
match status_code:
case 200:
print("Success")
case 404:
print("Not Found")
case 500:
print("Server Error")
case _:
print(f"Unknown status: {status_code}")
গুরুত্বপূর্ণ নোট:
ম্যাচ স্টেটমেন্ট শুধুমাত্র পাইথন 3.10 এবং পরবর্তী সংস্করণে উপলব্ধ। এই বৈশিষ্ট্যটি পাইথনের আগের সংস্করণগুলিতে উপলব্ধ নয়৷