在Python編程中,if-else語(yǔ)句是一種基本的控制結(jié)構(gòu),用于根據(jù)條件執(zhí)行不同的代碼塊。
一、基本的if語(yǔ)句
語(yǔ)法結(jié)構(gòu)
if語(yǔ)句的基本語(yǔ)法如下:
ifcondition:
#如果條件為真,執(zhí)行這里的代碼塊
其中condition是一個(gè)表達(dá)式,這個(gè)表達(dá)式會(huì)被求值為布爾值(True或者False)。如果condition為True,則if語(yǔ)句后面縮進(jìn)的代碼塊將會(huì)被執(zhí)行;如果condition為False,則代碼塊將被跳過(guò)。
示例
例如,判斷一個(gè)數(shù)是否為正數(shù):
num=5
ifnum>0:
print(f"{num}是正數(shù)")
在這個(gè)示例中,我們定義了一個(gè)變量num并賦值為5。然后,if語(yǔ)句中的條件num>0被求值為True,所以print語(yǔ)句(在if語(yǔ)句的代碼塊內(nèi))將會(huì)被執(zhí)行,輸出“5是正數(shù)”。
二、if-else語(yǔ)句
語(yǔ)法結(jié)構(gòu)
當(dāng)我們想要在條件為假時(shí)執(zhí)行另外一段代碼時(shí),可以使用if-else語(yǔ)句。其語(yǔ)法如下:
ifcondition:
#如果條件為真,執(zhí)行這里的代碼塊
else:
#如果條件為假,執(zhí)行這里的代碼塊
示例
例如,判斷一個(gè)數(shù)是正數(shù)還是非正數(shù):
num=-3
ifnum>0:
print(f"{num}是正數(shù)")
else:
print(f"{num}不是正數(shù)")
在這個(gè)示例中,因?yàn)閚um=-3,if語(yǔ)句中的條件num>0被求值為False,所以else語(yǔ)句后面的代碼塊將會(huì)被執(zhí)行,輸出“-3不是正數(shù)”。
三、if-elif-else語(yǔ)句
語(yǔ)法結(jié)構(gòu)
當(dāng)有多個(gè)條件需要判斷時(shí),可以使用if-elif-else語(yǔ)句。其語(yǔ)法如下:
ifcondition1:
#如果條件1為真,執(zhí)行這里的代碼塊
elifcondition2:
#如果條件1為假且條件2為真,執(zhí)行這里的代碼塊
elifcondition3:
#如果條件1和條件2為假且條件3為真,執(zhí)行這里的代碼塊
else:
#如果以上所有條件都為假,執(zhí)行這里的代碼塊
示例
例如,根據(jù)一個(gè)數(shù)的正負(fù)性和是否為零進(jìn)行分類:
num=0
ifnum>0:
print(f"{num}是正數(shù)")
elifnum<0:
print(f"{num}是負(fù)數(shù)")
else:
print(f"{num}是零")
在這個(gè)示例中,因?yàn)閚um=0,if語(yǔ)句中的條件num>0被求值為False,elif語(yǔ)句中的條件num<0也被求值為False,所以else語(yǔ)句后面的代碼塊將會(huì)被執(zhí)行,輸出“0是零”。
在使用if-else語(yǔ)句(包括if-elif-else語(yǔ)句)時(shí),需要注意以下幾點(diǎn):
條件表達(dá)式可以是比較表達(dá)式(如a>b)、邏輯表達(dá)式(如aandb或者aorb)或者包含函數(shù)調(diào)用的表達(dá)式(只要函數(shù)返回值可以被轉(zhuǎn)換為布爾值)等。
代碼塊的縮進(jìn)非常重要,Python通過(guò)縮進(jìn)來(lái)區(qū)分不同的代碼塊。通常使用4個(gè)空格作為縮進(jìn)單位,不過(guò)只要保持整個(gè)腳本的縮進(jìn)風(fēng)格一致即可。