邏輯判斷與迴圈——True&False
阿新 • • 發佈:2018-11-11
邏輯判斷與迴圈——True&False
判斷與迴圈是程式設計的靈魂,如果要實現一個複雜的功能和程式,判斷與迴圈是必不可少的。
if-ealse是常見的邏輯判斷手段,但在進行邏輯判斷之前,需要了解邏輯判斷的基本準則——布林型別(Boolean Type)
布林型別 (Boolean Type)
布林型別是資料型別中的一種,卻只有兩個 True 和 False(需要注意大小寫,Python對大小寫非常嚴格,大小寫錯誤會導致程式報錯),人類以真假判斷事實,計算機則以0和1判斷,0對應False,1對應True。
任何能夠的返回布林型別的表示式均是布林表示式
在Python終端輸入程式碼會得到:
>>> 1>2 #這就屬於一個表示式,可以返回布林值
False
>>> 1<2
True
>>> 42 != '42'
True
>>> 'Name' = 'name'
False
>>> 'M' = 'Magic'
True
>>> number = 12
>>> number in 12
True
比較運算子
上面程式碼產生的布林值的表達方式不同,我們來講一下這些運算子的的意義和用法
運算子 | 含義 |
---|---|
= | 將右邊的值賦給左右邊 |
== | 左右兩邊值相等時返回True |
!= | 左右兩邊不相等時返回True |
> | 左右大於右邊時返回True |
< | 左右小於右邊時返回True |
<= | 左邊小於或等於右邊時返回True |
>= | 左右大於或等於右邊時返回Ture |
除了上述簡單的數學比較外,當然也可以多條件複雜的比較:
>>> number = 5 #賦值變數
>>> 1 < number <10
Ture
#---------變數的比較-------------
>>> two = 1 + 1
>>> three = 2 + 1
>>> two < three #進行變數值的比較
True
#---------字串的比較------------
>>> 'Hello World' == 'hello world'
>>> False #在Python中嚴格區分大小寫,所以這個比較的結果返回False
#---------函式結果的比較-----------
>>> asb(-20) > len('length of the world')
#對兩個函式結果進行比較實際等價於"20 > 19"
#注:asb()是會返回引數的絕對值的函式
比較運算子的注意事項:
不同型別的物件不能用”>,<,<=,>=”進行比較,但可以用”==”和”!=”比較,例如字串和數字之間:
42 > 'the answer' #無法比較
42 = 'the answer' #False
42 != 'the answer' #True
需要注意的是,浮點型和整數型雖然型別不同,但是不影響比較運算:
5.0 == 5 #True
3.0 > 1 #True
你可能會有個疑問,為什麼”1 = 1 要寫作 1 == 1?”,因為在Python中運算子號和數學很多相似之處,但又略有不同。”=”表示的意義是賦值,並非數學中的”等於”。所以”1 = 1”這種寫法並不成立,並且Python也不會給你返回布林值。所以使用”==”這種表示”等於”,記住就可以了。
布林型別的比較:
True > False
True + False > False + False
這個結果如何理解呢?還記得前面說過得,True和Flase對於計算機就是1和0,如果在輸入True + Flase
檢視結果不難發現,True = 1,False = 0,也就是說,上面的程式碼實際等價於:
1 > 0
1 + 0 > 0 + 0
還有個小技巧是1 <> 3
這種表示式實際上等價於1 != 3
,記住即可。