间隔比较如何工作?

发布于 2021-01-29 17:13:49

以某种方式,这有效:

def in_range(min, test, max):
    return min <= test <= max

print in_range(0, 5, 10)  # True
print in_range(0, 15, 10)  # False

但是,我不太清楚这里的操作顺序。让我们测试一下False情况:

print 0 <= 15 <= 10  # False
print (0 <= 15) <= 10  # True
print 0 <= (15 <= 10)  # True

显然,这不能解决简单的操作顺序问题。区间比较是一个特殊的运算符,还是发生了其他事情?

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

    与大多数语言不同,Python支持链式比较运算符,并且像在常规数学中那样对它们进行求值。

    这行:

    return min <= test <= max
    

    由Python评估如下:

    return (min <= test) and (test <= max)
    

    但是,大多数其他语言会这样评估它:

    return (min <= test) <= max
    


知识点
面圈网VIP题库

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

去下载看看