在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
学而时习之,不亦说乎!