#在if語句嵌套中,需要特別注意的else和if的配對問題。python編譯系統(tǒng)處理該問題的原則是:else 總是與同一語法層次中離他最近的尚未配對的if配對
#例如:
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、莊河ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的莊河網(wǎng)站制作公司
#4.3.2真值測試;
#python與cC++在處理真值和邏輯運(yùn)算的方式上有所不同。在python中:
#任何非0數(shù)字和非空對象都未真。
#數(shù)字0、空對象(如空列表[],空字典{})、None都為假;
#比較和相當(dāng)測試返回true(真)或false(假)。
#邏輯運(yùn)算and和or,會(huì)返回參與運(yùn)算的真或假的對象。
#回顧:邏輯運(yùn)算:not x:x非真即假,非假即真;
#x and y:雙真才為真;x or y:x 雙假才為假;
#1.比較和相等測試,總是返回true或false。
print(2<5)
print(2>5)
print(2==5)
#2 not 運(yùn)算,not運(yùn)算返回true或false。例如:
print(not True,not False)
print(not 0,not 1,not 2)
print(not 'abc',not [1,2],not{'a':12}) #非空對象為真;
print(not '',not[],not{}) #空的對象為假
#3.and和or,python中的and和or運(yùn)算符總是返回參與運(yùn)算的對象,而不True和False。Python在計(jì)算and運(yùn)算時(shí),總是按從左到右的順序計(jì)算。
#在找到第一個(gè)計(jì)算為假的對象,返回該對象,即使右側(cè)還有需要計(jì)算的對象,計(jì)算都結(jié)束。這種計(jì)算方式稱為短路計(jì)算。
print(2 and 0)
print([] and 2)
print(2 and {})
print([]and{})
print(2 and 5) #如果參與運(yùn)算的對象都為真,則返回最后一個(gè)為真的對象。
print(5 and 2)
#or運(yùn)算同樣執(zhí)行短路計(jì)算,在找到第一個(gè)為真的對象時(shí),返回該對象,計(jì)算結(jié)束。
print(0 or 2)
print(2 or [])
print(False or 5)
print([]or{})
print({}or[])
print(False or 5)
#3.3 if...elif 三元表達(dá)式
x=5
y=100
if x>y:
a=x
else:
a=y
print(a)
#該if語句,將x、y中較大值賦值給a,該語句可簡化為如下的if...els三元表達(dá)式。
#a=x if x>y else y
#python還支持從列表中挑選對象,其基本格式如下:
#f為假時(shí),將x賦值給a,否則將y賦值給a。假前,真后
a=5
b=10
c=[a,b][a>b]
print(c)