Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。
可以通過下圖來簡單了解條件語句的執(zhí)行過程:
Python程序語言指定任何非0和非空(null)值為true,0 或者 null為false。
Python 編程中 if 語句用于控制程序的執(zhí)行,基本形式為:
if 判斷條件:
執(zhí)行語句……
else:
執(zhí)行語句……
執(zhí)行語句……
else:
執(zhí)行語句……
其中"判斷條件"成立時(非零),則執(zhí)行后面的語句,而執(zhí)行內(nèi)容可以多行,以縮進來區(qū)分表示同一范圍。
else 為可選語句,當需要在條件不成立時執(zhí)行內(nèi)容則可以執(zhí)行相關(guān)語句,具體例子如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例1:if 基本用法
flag = False
name = 'luren'
if name == 'python': # 判斷變量否為'python'
flag = True # 條件成立時設(shè)置標志為真
print 'welcome boss' # 并輸出歡迎信息
else:
print name # 條件不成立時輸出變量名稱
# -*- coding: UTF-8 -*-
# 例1:if 基本用法
flag = False
name = 'luren'
if name == 'python': # 判斷變量否為'python'
flag = True # 條件成立時設(shè)置標志為真
print 'welcome boss' # 并輸出歡迎信息
else:
print name # 條件不成立時輸出變量名稱
輸出結(jié)果為:
>>> luren # 輸出結(jié)果
if 語句的判斷條件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)來表示其關(guān)系。
當判斷條件為多個值時,可以使用以下形式:
if 判斷條件1:
執(zhí)行語句1……
elif 判斷條件2:
執(zhí)行語句2……
elif 判斷條件3:
執(zhí)行語句3……
else:
執(zhí)行語句4……
執(zhí)行語句1……
elif 判斷條件2:
執(zhí)行語句2……
elif 判斷條件3:
執(zhí)行語句3……
else:
執(zhí)行語句4……
實例如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法
num = 5
if num == 3: # 判斷num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零時輸出
print 'error'
else:
print 'roadman' # 條件均不成立時輸出
# -*- coding: UTF-8 -*-
# 例2:elif用法
num = 5
if num == 3: # 判斷num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零時輸出
print 'error'
else:
print 'roadman' # 條件均不成立時輸出
輸出結(jié)果為:
>>> roadman # 輸出結(jié)果
由于 python 并不支持 switch 語句,所以多個條件判斷,只能用 elif 來實現(xiàn),如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例3:if語句多個條件
num = 9
if num >= 0 and num <= 10: # 判斷值是否在0~10之間
print 'hello'
>>> hello # 輸出結(jié)果
num = 10
if num < 0 or num > 10: # 判斷值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
>>> undefine # 輸出結(jié)果
num = 8
# 判斷值是否在0~5或者10~15之間
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine'
>>> undefine # 輸出結(jié)果
# -*- coding: UTF-8 -*-
# 例3:if語句多個條件
num = 9
if num >= 0 and num <= 10: # 判斷值是否在0~10之間
print 'hello'
>>> hello # 輸出結(jié)果
num = 10
if num < 0 or num > 10: # 判斷值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
>>> undefine # 輸出結(jié)果
num = 8
# 判斷值是否在0~5或者10~15之間
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine'
>>> undefine # 輸出結(jié)果
當if有多個條件時可使用括號來區(qū)分判斷的先后順序,括號中的判斷優(yōu)先執(zhí)行,此外 and 和 or 的優(yōu)先級低于>(大于)、<(小于)等判斷符號,即大于和小于在沒有括號的情況下會比與或要優(yōu)先判斷。
簡單的語句組
你也可以在同一行的位置上使用if條件判斷語句,如下實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
var = 100
if ( var == 100 ) : print "變量 var 的值為100"
print "Good bye!"
# -*- coding: UTF-8 -*-
var = 100
if ( var == 100 ) : print "變量 var 的值為100"
print "Good bye!"
以上代碼執(zhí)行輸出結(jié)果如下:
變量 var 的值為100
Good bye!
Good bye!