这是完全指定的行为,不是偶然的功能。运算符链接在“ 比较运算符”
部分中定义:
可以任意链接比较,例如
x < y <= z与等效x < y and y <= z,不同之处在于y比较仅被评估一次(但在两种情况下z都x< y被发现为假,则根本不评估)。
in是比较运算符之一;从同一部分:
comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "<>" | "!=" | "is" ["not"] | ["not"] "in"
对于可能没有多大意义的组合也没有例外。
因此,您作为示例使用的特定表达式将执行为
'a' in 'ab' and 'ab' in 'abc',而
'ab'文字仅执行(加载)一次。



