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 လို့ ထည့်မယ်။

ရိုးရိုး ရေးရင် ၄ ကြောင်း။

long_way.py
age = 20 status = "" # variable အလွတ် အရင် ဆောက်ထားရတယ် if age >= 18: status = "Adult" else: status = "Minor" print(status)

Output:

Output
Adult

မှန်တယ်။ ဒါပေမယ့် နည်းနည်း ရှည်တယ်။

The Ternary Way

အခု Ternary နဲ့ ရေးမယ်။ ၄ ကြောင်းကနေ ၁ ကြောင်းတည်း ဖြစ်သွားမယ်။ လန်း။

Syntax (ရေးနည်း) က အသက်။

Ternary Operator Syntax: variable = [True ဖြစ်ရင်ဒါကိုထည့်] if [Condition] else [False ဖြစ်ရင်ဒါကိုထည့်]

ခုနက ဥပမာကို ပြန်ရေးမယ်:

ternary_way.py
age = 20 # ဒါက Ternary ပဲ (၁ ကြောင်းတည်း) status = "Adult" if age >= 18 else "Minor" print(status)

Output:

Output
Adult

၄ ကြောင်းကနေ ၁ ကြောင်းတည်း။

ဘယ်လို ဖတ်ရမလဲ

ဖတ်တဲ့ ပုံစံက နည်းနည်း ဆန်းနိုင်တယ် အစပိုင်းမှာပေါ့။ ဘရို... English စာ ဖတ်သလို ဖတ်ရုံပဲ။

Example
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 ထည့်လိုက်တယ်။

ဥပမာတွေ နဲ့ ထပ်စမ်းမယ်

စုံ/မ စစ်ရအောင်။

even_odd_checker.py
num = 7 # Ternary နည်း result = "Even" if num % 2 == 0 else "Odd" print(result)

Output:

Output
Odd

ဘာလို့လဲ? 7 % 2 == 0 က False ဖြစ်လို့ else နောက်က Odd ကို ယူသွားတယ်။

နောက်ထပ် ဥပမာ - အပူချိန် စစ်မယ်:

temperature_check.py
temperature = 35 # Ternary နည်း weather = "ပူတယ်" if temperature > 30 else "ချမ်းတယ်" print(weather)

Output:

Output
ပူတယ်

နောက်ထပ် ဥပမာ - Pass/Fail စစ်မယ်:

pass_fail.py
score = 75 # Ternary နည်း result = "Pass" if score >= 60 else "Fail" print(result)

Output:

Output
Pass

ဘယ်မှာ မသုံးသင့်ဘူးလဲ?

Ternary Operator က if-else ရိုးရိုး အတွက်ပဲ ဂေါ်တာ။

bro မှာ if, elif, elif, else တွေ အများကြီး ရှုပ်နေရင် (Nested တွေ၊ elif တွေ) သွားမသုံးနဲ့။

Remind: Ternary နဲ့ အတင်းရေးလို့ရပေမယ့် Code က ရှုပ်သွားနိုင်တယ်။

အမှား:

bad_example.py
# ရှုပ်တဲ့ Ternary (မသုံးနဲ့) score = 85 grade = "A" if score >= 90 else "B" if score >= 80 else "C" if score >= 70 else "D" # ဖတ်ဖို့ ခက်သွားပြီ!

ရိုးရိုး if-elif-else သုံးလိုက်:

good_example.py
# ရှင်းပြီး ဖတ်လို့ရတဲ့ နည်း score = 85 if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" else: grade = "D"
Bro!: Code က တိုဖို့ထက် ရှင်းဖို့ (Readable) ပိုအရေးကြီးတယ်။ ရှုပ်နေရင် ရိုးရိုး if-elif-else ပဲ ရေးတာ အကောင်းဆုံးလေနော်။

ဘယ်မှာ သုံးရမလဲ?

Ternary Operator က အခြေအနေ ရိုးရှင်းပြီး တစ်ကြောင်းတည်း ပြန်ရလို့ရတဲ့ နေရာမှာ အကောင်းဆုံး။

Use Case 1: Variable Assignment

variable_assignment.py
# အသက် အပေါ် မူတည်ပြီး discount ပေးမယ် age = 65 discount = 20 if age >= 60 else 0 print(f"Discount: {discount}%")

Use Case 2: Print Statements

print_statement.py
count = 1 print(f"{count} item" if count == 1 else f"{count} items")

Use Case 3: Function Returns

function_return.py
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 မှာဆိုရင် သဒ္ဒါ):

Syntax Reference
# အခြေခံ Ternary Syntax variable = True_Value if Condition else False_Value

အရေးပါတဲ့ အချက်:

  • အစီအစဉ် - True_Value if Condition else False_Value။
  • သုံးရမယ့် နေရာ - if နဲ့ else ရိုးရိုး အတွက်ပဲ သုံး။
  • မသုံးသင့်တဲ့ နေရာ - ရှုပ်နေရင်၊ elif အများကြီး ရှိရင် မသုံးနဲ့။
  • Readability - Code က တိုဖို့ထက် ရှင်းဖို့ ပိုအရေးကြီးတယ်။
Okay?။ Ternary Operator ကို မှန်မှန်ကန်ကန် သုံးတတ်ပြီဆိုရင် Code က ပိုတိုပြီး ပိုရှင်းလာမယ်။ ဒါပေမယ့် အလွန်ရှုပ်နေတဲ့ နေရာတွေမှာတော့ ရိုးရိုး if-else ပဲ သုံးတာ အကောင်းဆုံး။

Quick Reference

ternary_reference.py
# အခြေခံ 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")