Ternary Operator
Ternary Operator ဆိုတာ ဘာလဲ?
Ternary Operator ဆိုတာ if-else Statement ကို တစ်ကြောင်းတည်းရေးတဲ့ Shortcut ကိုပြောတာ။ Code ကို တိုတိုတုတ်တုတ် နဲ့ ရှင်းရှင်းလင်းလင်း ဖြစ်စေတာပေါ့။
Ternary ဆိုတာ သုံးခု (ternary = three) ဆိုတဲ့ အဓိပ္ပာယ်။ ဘာကြောင့် သုံးခုလဲဆိုတော့ - Condition တစ်ခု၊ True အတွက် Value တစ်ခု၊ False အတွက် Value တစ်ခု။
အရင် ရိုးရိုး နည်း
အရင်ဆုံး ရိုးရိုး (normal) if-else ကို ပြန်ကြည့်မယ်။ bro မှာ age ရှိတယ်။ အသက် 18 ပြည့်ရင် Adult လို့ status variable ထဲ ထည့်မယ်၊ မပြည့်ရင် Minor လို့ ထည့်မယ်။
ရိုးရိုး ရေးရင် ၄ ကြောင်း။
age = 20
status = "" # variable အလွတ် အရင် ဆောက်ထားရတယ်
if age >= 18:
status = "Adult"
else:
status = "Minor"
print(status)Output:
Adultမှန်တယ်။ ဒါပေမယ့် နည်းနည်း ရှည်တယ်။
The Ternary Way
အခု Ternary နဲ့ ရေးမယ်။ ၄ ကြောင်းကနေ ၁ ကြောင်းတည်း ဖြစ်သွားမယ်။ လန်း။
Syntax (ရေးနည်း) က အသက်။
variable = [True ဖြစ်ရင်ဒါကိုထည့်] if [Condition] else [False ဖြစ်ရင်ဒါကိုထည့်]
ခုနက ဥပမာကို ပြန်ရေးမယ်:
age = 20
# ဒါက Ternary ပဲ (၁ ကြောင်းတည်း)
status = "Adult" if age >= 18 else "Minor"
print(status)Output:
Adult၄ ကြောင်းကနေ ၁ ကြောင်းတည်း။
ဘယ်လို ဖတ်ရမလဲ
ဖတ်တဲ့ ပုံစံက နည်းနည်း ဆန်းနိုင်တယ် အစပိုင်းမှာပေါ့။ ဘရို... English စာ ဖတ်သလို ဖတ်ရုံပဲ။
status = "Adult" if age >= 18 else "Minor"Python က ဘယ်လို အလုပ်လုပ်လဲ:
- Python က [Condition] (အလယ်က age >= 18) ကို အရင်စစ်တယ်။
- age က 20 မို့လို့၊ 20 >= 18 က True (မှန်) တယ်။
- True (မှန်) တယ်ဆိုရင် Python က if ရဲ့ ရှေ့က value (Adult) ကို ယူတယ်။
- status ထဲကို Adult ထည့်လိုက်တယ်။
age = 15 ဆိုရင်ရော?
- Python က 15 >= 18 ကို အရင်စစ်တယ်။
- False (မှား) တယ်။
- False (မှား) တယ်ဆိုရင် Python က else ရဲ့ နောက်က value (Minor) ကို ယူတယ်။
- status ထဲကို Minor ထည့်လိုက်တယ်။
ဥပမာတွေ နဲ့ ထပ်စမ်းမယ်
စုံ/မ စစ်ရအောင်။
num = 7
# Ternary နည်း
result = "Even" if num % 2 == 0 else "Odd"
print(result)Output:
Oddဘာလို့လဲ? 7 % 2 == 0 က False ဖြစ်လို့ else နောက်က Odd ကို ယူသွားတယ်။
နောက်ထပ် ဥပမာ - အပူချိန် စစ်မယ်:
temperature = 35
# Ternary နည်း
weather = "ပူတယ်" if temperature > 30 else "ချမ်းတယ်"
print(weather)Output:
ပူတယ်နောက်ထပ် ဥပမာ - Pass/Fail စစ်မယ်:
score = 75
# Ternary နည်း
result = "Pass" if score >= 60 else "Fail"
print(result)Output:
Passဘယ်မှာ မသုံးသင့်ဘူးလဲ?
Ternary Operator က if-else ရိုးရိုး အတွက်ပဲ ဂေါ်တာ။
bro မှာ if, elif, elif, else တွေ အများကြီး ရှုပ်နေရင် (Nested တွေ၊ elif တွေ) သွားမသုံးနဲ့။
အမှား:
# ရှုပ်တဲ့ Ternary (မသုံးနဲ့)
score = 85
grade = "A" if score >= 90 else "B" if score >= 80 else "C" if score >= 70 else "D"
# ဖတ်ဖို့ ခက်သွားပြီ!ရိုးရိုး if-elif-else သုံးလိုက်:
# ရှင်းပြီး ဖတ်လို့ရတဲ့ နည်း
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"ဘယ်မှာ သုံးရမလဲ?
Ternary Operator က အခြေအနေ ရိုးရှင်းပြီး တစ်ကြောင်းတည်း ပြန်ရလို့ရတဲ့ နေရာမှာ အကောင်းဆုံး။
Use Case 1: Variable Assignment
# အသက် အပေါ် မူတည်ပြီး discount ပေးမယ်
age = 65
discount = 20 if age >= 60 else 0
print(f"Discount: {discount}%")Use Case 2: Print Statements
count = 1
print(f"{count} item" if count == 1 else f"{count} items")Use Case 3: Function Returns
def get_greeting(hour):
return "Good Morning" if hour < 12 else "Good Afternoon"
print(get_greeting(9)) # Good Morning
print(get_greeting(15)) # Good Afternoonအနှစ်ချုပ်
Ternary Operator က:
- if-else Statement ကို တစ်ကြောင်းတည်း ရေးတဲ့ Shortcut။
- Code ကို တိုတောင်းပြီး ရှင်းလင်းစေတယ်။
- ရိုးရှင်းတဲ့ True/False အခြေအနေ တွေအတွက်ပဲ သုံးပေါ့။
Syntax (programming မှာဆိုရင် သဒ္ဒါ):
# အခြေခံ Ternary Syntax
variable = True_Value if Condition else False_Valueအရေးပါတဲ့ အချက်:
- အစီအစဉ် - True_Value if Condition else False_Value။
- သုံးရမယ့် နေရာ - if နဲ့ else ရိုးရိုး အတွက်ပဲ သုံး။
- မသုံးသင့်တဲ့ နေရာ - ရှုပ်နေရင်၊ elif အများကြီး ရှိရင် မသုံးနဲ့။
- Readability - Code က တိုဖို့ထက် ရှင်းဖို့ ပိုအရေးကြီးတယ်။
Quick Reference
# အခြေခံ Ternary
result = "Yes" if condition else "No"
# နံပါတ် နဲ့
max_value = a if a > b else b
# String နဲ့
message = "Pass" if score >= 60 else "Fail"
# Boolean နဲ့
is_valid = True if age >= 18 else False
# Function call မှာ
print("Adult" if age >= 18 else "Minor")