自定义类型不可能覆盖Python中
and和的行为
or。也就是说,Numpy不可能说它想要
[0, 1, 1] and [1, 1,0]成为
[0, 1,0]。这是由于
and操作短路引起的(请参阅文档)。在本质上的短路行为
and和
or手段,这些行动必须作为对两个参数两个独立的真值;
它们无法以某种方式同时使用两个操作数中的数据的方式来组合两个操作数(例如,按元素进行元素比较,这对于Numpy来说是很自然的)。
解决方案是使用按位运算符
&和
|。但是,您必须对此小心,因为优先级不是您所期望的。



