復習老男孩全棧二期視頻的時候 圓號老師測試的用例兩個集合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層面的優化, 邏輯運算符確實要小心使用