您好,登錄后才能下訂單哦!
#在if語句嵌套中,需要特別注意的else和if的配對問題。python編譯系統處理該問題的原則是:else 總是與同一語法層次中離他最近的尚未配對的if配對
#例如:
#4.3.2真值測試;
#python與cC++在處理真值和邏輯運算的方式上有所不同。在python中:
#任何非0數字和非空對象都未真。
#數字0、空對象(如空列表[],空字典{})、None都為假;
#比較和相當測試返回true(真)或false(假)。
#邏輯運算and和or,會返回參與運算的真或假的對象。
#回顧:邏輯運算:not x:x非真即假,非假即真;
#x and y:雙真才為真;x or y:x 雙假才為假;
#1.比較和相等測試,總是返回true或false。
print(2<5)
print(2>5)
print(2==5)
#2 not 運算,not運算返回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運算符總是返回參與運算的對象,而不True和False。Python在計算and運算時,總是按從左到右的順序計算。
#在找到第一個計算為假的對象,返回該對象,即使右側還有需要計算的對象,計算都結束。這種計算方式稱為短路計算。
print(2 and 0)
print([] and 2)
print(2 and {})
print([]and{})
print(2 and 5) #如果參與運算的對象都為真,則返回最后一個為真的對象。
print(5 and 2)
#or運算同樣執行短路計算,在找到第一個為真的對象時,返回該對象,計算結束。
print(0 or 2)
print(2 or [])
print(False or 5)
print([]or{})
print({}or[])
print(False or 5)
#3.3 if...elif 三元表達式
x=5
y=100
if x>y:
a=x
else:
a=y
print(a)
#該if語句,將x、y中較大值賦值給a,該語句可簡化為如下的if...els三元表達式。
#a=x if x>y else y
#python還支持從列表中挑選對象,其基本格式如下:
#f為假時,將x賦值給a,否則將y賦值給a。假前,真后
a=5
b=10
c=[a,b][a>b]
print(c)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。