和python 2.7上的逻辑操作

时间:2017-11-24 10:27:25

标签: python python-2.7 bitwise-operators logical-operators

我在Ubuntu 16.04上使用python 2.7.12,我的代码的某些部分有这个:

for i in np.arange(0,max+1):
    ...
    if i != 1 and i != max :
            t_try[i] = (C_[i])/(2.0*D)

但是我对这些变化得到了不同的结果:

for i in np.arange(0,max+1):
    ...
    if (i != 1) and (i != max) :
            t_try[i] = (C_[i])/(2.0*D)

for i in np.arange(0,max+1):
    ...
    if (i != 1 and i != max) :
            t_try[i] = (C_[i])/(2.0*D)

我没看到问题所在。

更新:请注意我不是在谈论“布尔运算符”和“按位运算符”接受的答案是@fernand的答案,BTW感谢您宝贵的时间

2 个答案:

答案 0 :(得分:0)

这是运营商的优先顺序: https://docs.python.org/2/reference/expressions.html 或者,并且在==,=!

上流行

答案 1 :(得分:0)

python中,&不是逻辑连接,而是逐位AND运算符。尝试将示例中的&更改为and