| 
 | 
 
 
发表于 2018-3-18 16:15:52
|
显示全部楼层
 
 
 
短路逻辑  
表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 
 or 左侧表达式 。 
 
 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 
 or 的左侧,参与接下来的逻辑运算。 
 
 若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。 
 
例子: 
 
 
- user = 'nicholas'
 
 - psswd ='123'
 
 - v = user == 'nicholas' and passwd == '123' or 1 == 2 and pwd == '9876'
 
 - print(v)
 
  复制代码 
   
 
分析: 
v = true and true or 
此时不用继续计算即可得出v为真的结果,不用考虑布尔运算的优先级,注意这个运算是从左到右的,**而非看到and自动进行运算而后从左到右运算** 
 
一些结论: 
从左到右 
(1)第一个表达式 or  
True or ————>>得出结果True 
(2)第一个表达式 and 
True and ————>>继续运算 
(3)第一个表达式 or 
False or ————>>继续运算 
(4)第一个表达式 and 
False and ————>>得出结果False |   
 
 
 
 |