在python中使用或运算符

时间:2019-05-17 19:42:34

标签: python or-operator

请在python中解释or运算符发生了什么

>>>sen='abcdef'
>>>'a' in sen
True
>>>'v' or 'z' in sen
'v'
>>>('v' or 'z') in sen
False
>>>('v' or 'a') in sen
False
>>>('a' or 'v') in sen
True

第一个输出显然是有意义的。从第二个输出中,我不了解发生了什么!

1 个答案:

答案 0 :(得分:2)

使用括号时,您告诉解释器首先解释括号中的内容。因此,让我们回顾一下从第二个开始的输出:

>>>('v' or 'z') in sen

您在这里所做的是: ('v' or 'z')转换为v,因为它从左到右-它们都求值为True,因此,如果您要编写'z' or 'v',它将求值为z 。因此,您正在检查v是否在sen-> False内部。

继续前进:

>>>('v' or 'a') in sen --> is 'v' inside sen?
False
>>>('a' or 'v') in sen --> is 'a' inside sen?
True