在python中 ,有個運算方法, 他有個有趣的名字 --短路邏輯
這個說法其實是就在 or邏輯判斷的時候,運算方式,
在or運算判斷時,從左到右的運算順序,如果有一個滿足條件立馬退出!
舉個栗子:
a = 5
b = 4
x = 8
if x == (a or b) :
print('yes',type(x==a))
在這個栗子中 , 如果 a 布爾判斷為真 就會立馬退出
在我測試時, 我寫成這樣
a = 5
b = 4
x = 8
if x == a or b :
print('yes',type(x==a))
結果是返回的True,我就奇怪 ,調試半天
原來是因為 沒有加括號,判斷時將 式子分成兩個 x==a 和 b 兩個布爾值在判斷 所以
當然的是返回的 True
值得注意的是 : 在bool判斷中 0、''、[]、()、{}、None為Flase 其他都為真,判斷是要小心
在python 中 還有一個and 與 or 是相似的 從左到右 運算方式
但是 and 是都為真 結果才會是True 3
學而時習之,不亦說乎!