在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。>>> 1 and 2 and 3
3
>>> False and 1 and 2
False
>>> 1 and 2 and 3 and 4
4
>>> 1 and 2 and 3 and False
False
>>> 1 or 2 or 3
1
>>> False or 1 or 2
1
>>> 1 and 2 and 3 or False and 1
3
在python中and与or执行布尔逻辑运算,但返回的是实际值。
1.全为and,如果都为真,则返回最后一个变量值;如果为假,则返回第一个假值
2.全为or,如果都为假则返回最后一个值;如果为真,则返回第一个真值
3.and 与or:>>> 1 and 2 or False
2
>>> False and 1 or 2
2
(a and b ) or c :如果a and b为真则结果为b,若a and b为假,结果为c,其实原理与and和or的一样,类似于C中到bool?a:b
另外:and优先级比or高>>>False and 1 or 2
2
>>> 1 or 2 and False
1
>>> (1 or 2 ) and False
False
从上面3个例子看,第一个判断出or的优先级没有and高,后2个例子可以知道and 与or优先级不可能相同,如果相同,第2个例子结果就该是False了把
【相关推荐】