使用布尔逻辑"和"和按位运算符"&"

时间:2016-09-03 05:44:15

标签: python boolean bitwise-operators boolean-logic

抱歉这个基本问题,我只是Python编程的初学者。 从我的不作为,&和"和"是相同的事情,"&"只是"和#34;所以,如果我使用Python的数据框

df[ (df.StateAb == "NSW") & (df.PartyAb == "LP") ]

此压缩确定,但如果我输入

df[ (df.StateAb == "NSW") and (df.PartyAb == "LP") ]

然后无法正确编译。

那么"和"之间的区别是什么?和"&",

1 个答案:

答案 0 :(得分:1)

我发现这个有用:

1 and 2
>> 2

1 & 2
>> 0

第一个结果是由于短路。 Python测试1并发现它为真并返回2.但是,第二部分是01(二进制1)& 10(二进制2)因此评估为00(1& 0,0& 1),即0。