python and, or运算

  在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


学而时习之,不亦说乎!






原文地址:https://www.cnblogs.com/sunny666/p/10971599.html