Python တွင် if statement ဖြင့် conditional branching ကို ရှင်းပြပါ။
- if statements အခြေခံများ (if, elif, else)
- နှိုင်းယှဉ်အော်ပရေတာများ စသည်တို့ဖြင့် အခြေအနေများကို သတ်မှတ်ပါ။
- နံပါတ်၊ စာရင်းစသည်ဖြင့် အခြေအနေများကို သတ်မှတ်ပါ။
- ယုတ္တိတန်သော အော်ပရေတာများဖြင့် အခြေအနေများစွာ သို့မဟုတ် ငြင်းဆိုချက်များကို သတ်မှတ်ပါ (နှင့်၊ သို့မဟုတ်၊ မဟုတ်)
- မျဉ်းအသစ်များနှင့် မျဉ်းများစွာတွင် သတ်မှတ်ချက်ဆိုင်ရာအသုံးအနှုန်းများ
တစ်ကြောင်းတည်းတွင် အခြေအနေဆိုင်ရာဌာနခွဲတစ်ခုကို ဖော်ပြသည့် ternary operator တစ်ခုလည်း ရှိပါသည်။ အောက်ပါဆောင်းပါးကိုကြည့်ပါ။
- if statements အခြေခံများ (if, elif, else)
- နှိုင်းယှဉ်အော်ပရေတာများ စသည်တို့ဖြင့် အခြေအနေများကို သတ်မှတ်ပါ။
- နံပါတ်၊ စာရင်းစသည်ဖြင့် အခြေအနေများကို သတ်မှတ်ပါ။
- ယုတ္တိတန်သော အော်ပရေတာများဖြင့် အခြေအနေများစွာ သို့မဟုတ် ငြင်းဆိုချက်များကို သတ်မှတ်ပါ (နှင့်၊ သို့မဟုတ်၊ မဟုတ်)
- မျဉ်းအသစ်များနှင့် မျဉ်းများစွာတွင် သတ်မှတ်ချက်ဆိုင်ရာအသုံးအနှုန်းများ
if statements အခြေခံများ (if, elif, else)
if statement ၏ အခြေခံပုံစံမှာ အောက်ပါအတိုင်းဖြစ်သည်။
if Conditional expression 1:
`Processing to be performed if Expression 1 is True.`
elif Conditional expression 2:
`Processing to be performed when expression 1 is false and expression 2 is true.`
elif Expression 3:
`Process when expression 1 and 2 are false and expression 3 is true.`
...
else:
`Processing when all conditionals are false.`
“ elif” သည် C နှင့် အခြားဘာသာစကားများဖြင့် “ else if” နှင့် သက်ဆိုင်ပြီး “ elif” အရေအတွက်လည်း ရှိနိုင်ပါသည်။
မှားယွင်းသော မလိုအပ်သည့်အခါ အခြေအနေအရ ဖော်ပြချက် သို့မဟုတ် လုပ်ဆောင်ခြင်းတစ်ခုသာ ရှိနေပါက၊ “ elif” နှင့် “ else” ဘလောက်များကို ချန်လှပ်နိုင်ပါသည်။
နှိုင်းယှဉ်အော်ပရေတာများ စသည်တို့ဖြင့် အခြေအနေများကို သတ်မှတ်ပါ။
နှိုင်းယှဉ်အော်ပရေတာကဲ့သို့ bool အမျိုးအစား (မှန်၊ မှား) ကို ပြန်ပေးသည့် လုပ်ဆောင်ချက်ဖြင့် အခြေအနေအား သတ်မှတ်ပါ။
Python နှိုင်းယှဉ်အော်ပရေတာများမှာ အောက်ပါအတိုင်းဖြစ်သည်။
အော်ပရေတာ | ရလဒ် |
---|---|
x < y | x က y ထက်နည်းရင် မှန်တယ်။ |
x <= y | x သည် y ထက်နည်းသော သို့မဟုတ် ညီမျှပါက မှန်ပါသည်။ |
x > y | x က y ထက် ကြီးရင် မှန်တယ်။ |
x >= y | x သည် y ထက် ကြီးသည် သို့မဟုတ် ညီမျှပါက မှန်ပါသည်။ |
x == y | x နှင့် y တန်ဖိုးများ တူညီပါက မှန်ပါသည်။ |
x != y
x is y
x is not y
x in y
x not in y
ဥပမာ။ အဆင်ပြေစေရန်အတွက်၊ ၎င်းကို def statement ဖြင့် သတ်မှတ်သည်။
def if_test(num):
if num > 100:
print('100 < num')
elif num > 50:
print('50 < num <= 100')
elif num > 0:
print('0 < num <= 50')
elif num == 0:
print('num == 0')
else:
print('num < 0')
if_test(1000)
# 100 < num
if_test(70)
# 50 < num <= 100
if_test(0)
# num == 0
if_test(-100)
# num < 0
အောက်ပါတို့ကို Python ၏ထူးခြားသောနည်းလမ်းဖြင့်ရေးသားနိုင်သည်။ အသေးစိတ်အတွက် အောက်ပါဆောင်းပါးကို ကြည့်ပါ။a < x < b
def if_test2(num):
if 50 < num < 100:
print('50 < num < 100')
else:
print('num <= 50 or num >= 100')
if_test2(70)
# 50 < num < 100
if_test2(0)
# num <= 50 or num >= 100
#ERROR!
!=
အထက်ပါအချက်များသည် တန်ဖိုးများကို နှိုင်းယှဉ်ခြင်း၊ အရာဝတ္တုအထောက်အထားများကို နှိုင်းယှဉ်ရန် အောက်ပါတို့ကို အသုံးပြုပါ။
is
is not
ဥပမာအားဖြင့်၊ ကိန်းပြည့်တစ်ခုနှင့် Floating-Point နံပါတ်ကို နှိုင်းယှဉ်သောအခါ၊ “ ==” သည် တန်ဖိုးများ တူညီပါက အမှန်အတိုင်း ပြန်ပေးသည်၊ သို့သော် ၎င်းတို့သည် မတူညီသော အရာဝတ္ထုများဖြစ်သောကြောင့် “ is” သည် false ပြန်ပေးသည်။
i = 10
print(type(i))
# <class 'int'>
f = 10.0
print(type(f))
# <class 'float'>
print(i == f)
# True
print(i is f)
# False
စာရင်းတစ်ခု သို့မဟုတ် စာကြောင်းတစ်ခုတွင် တိကျသောဒြပ်စင် (အက္ခရာ) ပါရှိသည်ဖြစ်စေ အခြေအနေကိုလည်း ပြုလုပ်နိုင်သည်။
in
:ပါဝင်ပါတယ်။not in
:မပါဝင်ပါ။
def if_test_in(s):
if 'a' in s:
print('a is in string')
else:
print('a is NOT in string')
if_test_in('apple')
# a is in string
if_test_in('melon')
# a is NOT in string
နံပါတ်၊ စာရင်းစသည်ဖြင့် အခြေအနေများကို သတ်မှတ်ပါ။
if statement ၏ conditional expression သည် bool အမျိုးအစားမဟုတ်သော နံပါတ်တစ်ခု၊ စာရင်း သို့မဟုတ် အခြားအရာတစ်ခု ဖြစ်နိုင်သည် (မှန်၊ မမှန်)။
if 10:
print('True')
# True
if [0, 1, 2]:
print('True')
# True
Python if statement ၏ conditional expression တွင်၊ အောက်ပါအရာဝတ္ထုများကို false ဟုယူဆပါသည်။
- ကိန်းသေများကို မှားယွင်းသည်ဟု သတ်မှတ်သည်။:
None
၊false
- ဂဏန်းအမျိုးအစားတွင် သုည:
0
၊0
၊0j
၊Decimal(0)
၊Fraction(0, 1)
- ဗလာအစီအစဥ် သို့မဟုတ် စုစည်းမှု:
'
၊()
၊[]
၊{}
၊set()
၊range(0)
Truth Value Testing — Built-in Types — Python 3.10.4 Documentation
သုည၊ အချည်းနှီးသော စာကြောင်းများ၊ စာရင်းများ စသည်တို့ကို ကိုယ်စားပြုသော နံပါတ်များကို မှားသည်ဟု ယူဆပါသည်။ အခြားအရာအားလုံးကို အမှန်ဟု ယူဆကြသည်။
Object ကို မည်ကဲ့သို့ စီရင်သည်ကို bool() ဖြင့် စစ်ဆေးနိုင်သည်။
print(bool(10))
# True
print(bool(0.0))
# False
print(bool([]))
# False
print(bool('False'))
# True
ဥပမာ စာရင်းသည် ဗလာဖြစ်နေသောအခါ လုပ်ငန်းစဉ်ကို ရိုးရိုးရှင်းရှင်းရေးရန် ၎င်းကို အသုံးပြုနိုင်သည်။
def if_test_list(l):
if l:
print('list is NOT empty')
else:
print('list is empty')
if_test_list([0, 1, 2])
# list is NOT empty
if_test_list([])
# list is empty
False’ စာကြောင်းသည်လည်း အမှန်ဖြစ်မည်ကို သတိပြုပါ၊ အဘယ်ကြောင့်ဆိုသော် အထက်ဖော်ပြပါ ဥပမာတွင် ပြထားသည့်အတိုင်း၊ string တွင် အချည်းနှီးမဟုတ်သော မည်သည့်စာကြောင်းမဆို အမှန်ဖြစ်လိမ့်မည်။’ ‘True’ သို့မဟုတ် ‘False’ ကဲ့သို့သော သီးခြားစာကြောင်းတစ်ခုကို 1,0 သို့ပြောင်းရန် distutils.util module တွင် strtobool() ကိုသုံးပါ။
ယုတ္တိတန်သော အော်ပရေတာများဖြင့် အခြေအနေများစွာ သို့မဟုတ် ငြင်းဆိုချက်များကို သတ်မှတ်ပါ (နှင့်၊ သို့မဟုတ်၊ မဟုတ်)
ယုတ္တိဗေဒဆိုင်ရာ အော်ပရေတာများ (နှင့်၊ သို့မဟုတ်၊ မဟုတ်) များကို ယုတ္တိဆက်စပ်ပေါင်းစပ်မှု၊ ယုတ္တိကွဲလွဲမှု၊ နှင့် အခြေအနေများစွာ၏ အနုတ်လက္ခဏာများကို ကိုင်တွယ်ရန် အသုံးပြုနိုင်သည်။
အော်ပရေတာ | (ရလဒ် ( if statement တစ်ခု၏ conditional expression တွင်) |
---|---|
x and y | x နှင့် y နှစ်ခုလုံး မှန်လျှင် မှန်ပါသည်။ |
x or y | x သို့မဟုတ် y မှန်လျှင် မှန်သည်။ |
not x | x က မှန်ရင် false ၊ x မှားရင် true |
def if_test_and_not(num):
if num >= 0 and not num % 2 == 0:
print('num is positive odd')
else:
print('num is NOT positive odd')
if_test_and_not(5)
# num is positive odd
if_test_and_not(10)
# num is NOT positive odd
if_test_and_not(-10)
# num is NOT positive odd
အမှန်တော့ “ x နှင့် y” နှင့် “ x သို့မဟုတ် y” သည် True သို့မဟုတ် False သို့မပြန်ဘဲ x သို့မဟုတ် y ဖြစ်သည်။ if statements တွေမှာ conditional expressions တွေကိုအသုံးပြုထားသရွေ့တော့၊ သူတို့က True or False ဆိုပြီး အကဲဖြတ်တဲ့အတွက် သူတို့ကို စိတ်ပူစရာမလိုပါဘူး။ အသေးစိတ်အတွက် အောက်ပါဆောင်းပါးကို ကြည့်ပါ။
- ဆက်စပ်-Python ၏ ယုတ္တိရှိသော အော်ပရေတာ “ and, or, not” (ယုတ္တိဆက်စပ်မှု၊ ယုတ္တိကွဲလွဲမှု၊ နှုတ်ထွက်မှု)
၎င်းကို တစ်ကြိမ်ထက်ပို၍ အသုံးပြုနိုင်သည်။
def if_test_and_not_or(num):
if num >= 0 and not num % 2 == 0 or num == -10:
print('num is positive odd or -10')
else:
print('num is NOT positive odd or -10')
if_test_and_not_or(5)
# num is positive odd or -10
if_test_and_not_or(10)
# num is NOT positive odd or -10
if_test_and_not_or(-10)
# num is positive odd or -10
မျဉ်းအသစ်များနှင့် မျဉ်းများစွာတွင် သတ်မှတ်ချက်ဆိုင်ရာအသုံးအနှုန်းများ
၎င်းတို့ကို “ and” သို့မဟုတ် “ or” နှင့် ချိတ်ဆက်ခြင်းဖြင့် များစွာသော conditional expression များကို အသုံးပြုပြီး မျဉ်းတစ်ခုစီသည် ရှည်လာသောအခါ၊ တစ်ခါတစ်ရံတွင် conditional expression ကို ချိုးဖျက်ပြီး လိုင်းများစွာတွင် ရေးရန် လိုအပ်ပါသည်။
backslash ကိုသုံး၍ သို့မဟုတ် ကွင်းတစ်ခုလုံးတွင် စာကြောင်းတစ်ခုလုံးကို ဖုံးအုပ်ထားခြင်းဖြင့် လိုင်းခွဲခြင်းကို ပြုလုပ်နိုင်သည်။
def if_test_and_backslash(num):
if num >= 0 \
and not num % 2 == 0:
print('num is positive odd')
else:
print('num is NOT positive odd')
if_test_and_backslash(5)
# num is positive odd
def if_test_and_brackets(num):
if (num >= 0
and not num % 2 == 0):
print('num is positive odd')
else:
print('num is NOT positive odd')
if_test_and_brackets(5)
# num is positive odd
မျဉ်းကြောင်းကို သင်နှစ်သက်သလောက် အကြိမ်များစွာ ချိုးရန် backslash ကိုသုံးနိုင်သည်။ အလားတူ၊ သင်သည် ကွင်းအတွင်း အကြိမ်ရေတိုင်း မျဉ်းကို ချိုးနိုင်သည်။ Indentation ကန့်သတ်ချက်မရှိပါ။
ဤသည်မှာ Python ကုဒ်တွင် မည်သည့်နေရာတွင်မဆို အသုံးပြုနိုင်သော နည်းပညာတစ်ခုဖြစ်ပြီး if statements များတွင်သာ မဟုတ်ဘဲ၊