我发现计算 a in b == c
的结果总是等于 (a in b) and (b == c)
。谁能解释一下?
这是一个在 Python3.7 上运行的示例:
>>>> "123" in "1234" == "1234"
True
>>>> "123" in "1234" != "1234"
False
>>>> "123" in "1234" != "12345"
True
>>>> "123" in "1234" == "12345"
False
>>>> "888" in "1234" == "1234"
False
答案 0 :(得分:1)
比较可以任意链接,例如,x < y <= z 等价于 x < y 和 y <= z,除了 y 只计算一次(但在这两种情况下 z 都是当发现 x < y 为假时根本不计算
其中 in
也是一个比较运算符
另请参阅 operator precedence 部分以了解 in
和相等性检查同时发生,从左到右