[Python]逻辑运算符 and or

复习老男孩全栈二期视频的时候 圆号老师测试的用例两个集合and 和or操作的时候的问题

1 >>> a = set("what")
2 >>> b = set("who")
3 >>> a and b
4 {'w', 'h', 'o'}
5 >>> a or b
6 {'a', 'w', 'h', 't'}

这是因为and和or是逻辑运算符, 根据真值表的快速通道 and前面为真直接会返回后面表达式的值作为结果, or前面的值为假后面的值作为结果,如果or前面为真返回该值

所以上面的表现就解释的通了

所以 and和or是逻辑运算符 集合运算符是 & 和 |

圆号老师应该是紧张了

这个好像在python源码剖析中也提到了, 在c层面的优化, 逻辑运算符确实要小心使用

原文地址:https://www.cnblogs.com/sigai/p/7884781.html