它在python文档中的何处允许“ in”运算符被链接?

发布于 2021-01-29 14:56:44

我最近发现以下结果True

'a' in 'ab' in 'abc'

我知道python比较链,例如a < b < c,但是我在文档中看不到任何合法的链接。

这是CPython实现中的偶然功能,还是指定了此行为?

关注者
0
被浏览
75
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这是完全指定的行为,不是偶然的功能。运算符链接在“ 比较运算符”
    部分中
    定义:

    可以任意链接比较,例如x < y <= z与等效x < y and y <= z,不同之处在于y比较仅被评估一次(但在两种情况下zx < y被发现为假,则根本不评估)。

    in是比较运算符之一;从同一部分:

    comp_operator ::=  "<" | ">" | "==" | ">=" | "<=" | "<>" | "!="
                       | "is" ["not"] | ["not"] "in"
    

    对于可能没有多大意义的组合也没有例外。

    因此,您作为示例使用的特定表达式将执行为'a' in 'ab' and 'ab' in 'abc',而 'ab'文字仅执行(加载)一次。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看