代码改变世界

python return中的or和and语句

2018-04-08 23:53  ZealouSnesS  阅读(5002)  评论(0编辑  收藏  举报

python return中的or和and语句

1、二元运算:

如果一个True,一个False或两个false:

return True and False # 返回False

return True or False # 返回True

 

如果两边都是True,则and返回右边的,or返回左边的:

return 1 or 2 # 返回1

return 1 and 2 # 返回2

 

2、多元运算:

从左到右,两两运算,两两运算时逻辑见上面二元运算

例如下面三句代码,第一句返回1,第二句返回3,第三句返回2

return 1 or 2 or 3

return 1 and 2 and 3

return 1 and 2 or 3

 

疑问:

同时,是否继续执行下去,要看二元运算时前面元素的值

and:遇假则假,所以前面为假就不执行和判断后面,前面为真则继续判断执行后面的; # 这句不正确,例如下面这句代码的返回值就是2

return 0 and 1 or 2

or:遇真则真,所以前面为真就不执行和判断后面,前面为假则继续判断执行后面的。 # 这句正确,但不知道为什么,例如下面这句代码的返回值就是1

return 1 or 2 and 3