numpy bitwise运算符&的优先级排名是什么?和| ?
如果我这样做
a & b | c
它评估的表达方式是什么? a & (b | c)
? (a & b) | c
?
怎么样
a | b & c
我还假设NOT(〜)具有最高优先级?
答案 0 :(得分:9)
这是一种可在互联网连接断开时使用的技术。它适用于您可能遇到的许多问题。该技术的口语描述是“吮吸它并看到”。
>>> from itertools import product
>>> list(product(range(2), repeat=3))
[(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)]
>>> all((a & b | c) == ((a & b) | c) for a, b, c in product(range(2), repeat=3))
True
>>> all((a & b | c) == (a & (b | c)) for a, b, c in product(range(2), repeat=3))
False
答案 1 :(得分:7)
请参阅this section of the documentation,以及this page(感谢@ F.J。)。
优先级是:
~
)&
)^
)|
)这意味着:
a & b | c == (a & b) | c
a | b & c == a | (b & c)