பைத்தான் Match அறிக்கை
Match அறிக்கை பல்வேறு நிபந்தனைகளின் அடிப்படையில் பல்வேறு செயல்களைச் செய்யப் பயன்படுகிறது.
பல if..else அறிக்கைகளை எழுதுவதற்குப் பதிலாக, நீங்கள் match அறிக்கையைப் பயன்படுத்தலாம்.
Match அறிக்கை செயல்படுத்த பல குறியீட்டு தொகுதிகளில் ஒன்றைத் தேர்ந்தெடுக்கிறது.
தொடரியல்
match expression:
case x:
code block
case y:
code block
case z:
code block
இது எவ்வாறு செயல்படுகிறது:
- Match வெளிப்பாடு ஒரு முறை மதிப்பிடப்படுகிறது.
- வெளிப்பாட்டின் மதிப்பு ஒவ்வொரு case இன் மதிப்புகளுடனும் ஒப்பிடப்படுகிறது.
- பொருத்தம் இருந்தால், தொடர்புடைய குறியீட்டு தொகுதி செயல்படுத்தப்படும்.
கீழே உள்ள எடுத்துக்காட்டு வார நாள் எண்ணைப் பயன்படுத்தி வார நாள் பெயரை அச்சிடுகிறது:
எடுத்துக்காட்டு
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")
இயல்புநிலை மதிப்பு
மற்ற பொருத்தங்கள் இல்லாதபோது ஒரு குறியீட்டு தொகுதி செயல்படுத்த வேண்டுமென்றால், கடைசி case மதிப்பாக அடிக்கோடு _ எழுத்தைப் பயன்படுத்தவும்:
எடுத்துக்காட்டு
day = 4
match day:
case 6:
print("Today is Saturday")
case 7:
print("Today is Sunday")
case _:
print("Looking forward to the Weekend")
குறிப்பு:
_ மதிப்பு எப்போதும் பொருந்தும், எனவே அதை இயல்புநிலை case ஆக செயல்படுத்த கடைசி case ஆக வைப்பது முக்கியம்.
மதிப்புகளை இணைத்தல்
ஒரு case இல் ஒன்றுக்கும் மேற்பட்ட மதிப்பு பொருத்தத்தை சரிபார்க்க case மதிப்பீட்டில் OR செயலியாக குழாய் | எழுத்தைப் பயன்படுத்தவும்:
எடுத்துக்காட்டு
day = 4
match day:
case 1 | 2 | 3 | 4 | 5:
print("Today is a weekday")
case 6 | 7:
print("I love weekends!")
If அறிக்கைகளை காவலர்களாகப் பயன்படுத்துதல்
கூடுதல் நிபந்தனை-சரிபார்ப்பாக case மதிப்பீட்டில் if அறிக்கைகளைச் சேர்க்கலாம்:
எடுத்துக்காட்டு
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")
விளக்கம்:
இங்கு, அதே day மதிப்புகள் வெவ்வேறு மாதங்களுக்கு வெவ்வேறு வெளியீடுகளை அளிக்கின்றன, ஏனெனில் 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}")
முக்கியமான குறிப்பு:
Match அறிக்கை பைத்தான் 3.10 மற்றும் பிற்பட்ட பதிப்புகளில் மட்டுமே கிடைக்கும். முந்தைய பைத்தான் பதிப்புகளில் இந்த அம்சம் கிடைக்காது.