Python Match

পাইথন ম্যাচ স্টেটমেন্ট

পাইথন ম্যাচ স্টেটমেন্ট

ম্যাচ স্টেটমেন্টটি বিভিন্ন শর্তের উপর ভিত্তি করে বিভিন্ন ক্রিয়া সম্পাদন করতে ব্যবহৃত হয়।

একাধিক 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 এবং পরবর্তী সংস্করণে উপলব্ধ। এই বৈশিষ্ট্যটি পাইথনের আগের সংস্করণগুলিতে উপলব্ধ নয়৷

অনুশীলন করুন

ম্যাচ স্টেটমেন্টে ডিফল্ট কেস ভ্যালু হিসাবে কোন অক্ষর ব্যবহার করা যেতে পারে?

%
✗ ভুল! % হল একটি ব্লক অপারেটর, ডিফল্ট কেস ক্যারেক্টার নয়
*
✗ ভুল! * একটি গুণন অপারেটর বা ওয়াইল্ডকার্ড, কিন্তু ম্যাচের ডিফল্ট ক্ষেত্রে নয়
_
✓ ঠিক আছে! ম্যাচ স্টেটমেন্টে _ (আন্ডারস্কোর) ডিফল্ট কেস মান হিসাবে ব্যবহৃত হয়
|
✗ ভুল! | OR অপারেটর, একাধিক মান একত্রিত করতে ব্যবহৃত হয়, কিন্তু ডিফল্ট ক্ষেত্রে নয়