复习老男孩全栈二期视频的时候 圆号老师测试的用例两个集合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层面的优化, 逻辑运算符确实要小心使用