Python条件语句
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。可以通過下圖來簡單了解條件語句的執(zhí)行過程。
Python中的條件語句包括if、elif、else語句,用來控制程序的執(zhí)行,當(dāng)判斷條件為真時(shí),執(zhí)行該語句下的執(zhí)行體,判斷條件為假時(shí),跳過該語句。具體語法如下:
格式1:
if判斷條件:
執(zhí)行語句……
當(dāng)判斷條件為真(值為True)時(shí),執(zhí)行該條件下的執(zhí)行語句;否則,不執(zhí)行該條件下的語句。以下面代碼為例:
代碼:
結(jié)果:
上述代碼的執(zhí)行結(jié)果為True。由于a的值為‘a(chǎn)’,在執(zhí)行第一個(gè)判斷條件時(shí),滿足a=’a’,因此執(zhí)行該條件下的語句,打印出結(jié)果True。
格式2:
if判斷條件:
執(zhí)行語句……
else:
執(zhí)行語句……
當(dāng)判斷條件為真(值為True)時(shí),執(zhí)行該條件下的執(zhí)行語句;否則,執(zhí)行else下的語句。需要注意的是,Python中以縮進(jìn)來確定一個(gè)代碼塊。以下面代碼為例:
代碼:
結(jié)果:
上述代碼的執(zhí)行結(jié)果為True。由于a的值為1,在執(zhí)行第一個(gè)判斷條件時(shí),滿足a>0,因此執(zhí)行該條件下的語句,打印出結(jié)果True。由于已經(jīng)第一個(gè)判斷條件已經(jīng)滿足,程序不再檢查其他的判斷條件。對(duì)上面代碼稍作改動(dòng),具體見下:
代碼:
結(jié)果:
上述代碼的執(zhí)行結(jié)果為False。由于a的值為0,在執(zhí)行第一個(gè)判斷條件時(shí),不滿足a>0,因此跳過該執(zhí)行語句,執(zhí)行else語句下的執(zhí)行體,打印結(jié)果為False。
格式3:
if判斷條件:
執(zhí)行語句……
elif判斷條件:
執(zhí)行語句……
elif判斷條件:
執(zhí)行語句……
else:
執(zhí)行語句……
當(dāng)判斷條件為多個(gè)值時(shí),可以使用上述形式。
Python條件語句具有以下幾個(gè)特點(diǎn)
1、 如果判斷條件有多個(gè)時(shí),可以使用and/or連接。
2、 當(dāng)if有多個(gè)條件時(shí)可使用括號(hào)來區(qū)分判斷的先后順序,括號(hào)中的判斷優(yōu)先執(zhí)行,
此外and和or的優(yōu)先級(jí)低于>(大于)、 <(小于)等判斷符號(hào),即大于和小于在沒有括號(hào)的情況下會(huì)比and/or要優(yōu)先判斷。
代碼:
結(jié)果:
3、 Python 復(fù)合布爾表達(dá)式計(jì)算采用短路規(guī)則,即如果通過前面的部分已經(jīng)計(jì)算出整個(gè)表達(dá)式的值,則后面的部分不再計(jì)算。見下面例子:
代碼:
結(jié)果:
程序在運(yùn)行過程中判斷到a>0為False時(shí),由于False與任何布爾類型的值進(jìn)行“與”運(yùn)算的結(jié)果均為False,所以程序就不再判斷表達(dá)式(b/a>2)的值,最終打印出結(jié)果“no”。但是,這段代碼實(shí)際上是有錯(cuò)誤的,因?yàn)?不能做除數(shù),而在表達(dá)式(b/a>2)中,0做了除數(shù)。由于Python的這一特點(diǎn),所以程序在運(yùn)行的時(shí)候并沒有報(bào)零除錯(cuò)誤。我們將上述代碼稍作修改,如下所示:
代碼:
結(jié)果:
我們將代碼中的“and”改成了“or”,此時(shí)由于表達(dá)式(a>0)的值為False,所以程序繼續(xù)計(jì)算表達(dá)式(b/a>2)的值,此時(shí)程序檢查到除數(shù)為0,所以程序運(yùn)行時(shí)報(bào)錯(cuò)。
4、 在嵌套if語句中,可以把if...elif...else結(jié)構(gòu)放在另外一個(gè)if...elif...else結(jié)構(gòu)中。
總結(jié)
以上是生活随笔為你收集整理的Python条件语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cad中怎么使用betterwmf截图软
- 下一篇: 方程组怎么解(怎么解有关数列方程组)