关于python:检查数字是否在给定范围之间

Check if number is between given range

本问题已经有最佳答案,请猛点这里访问。

我遇到一个答案,我们可以通过下面的方法10<=n<=100来检查数字是否在给定范围内。我想知道这个语句是如何在Python中执行的。我是Python的新手,知道如何用Java编写代码。

从答案中,我了解到这个特性被称为链接比较运算符。非常感谢你的回答。


这是"该语句的执行方式"

1
2
3
4
5
6
import dis

def f(n):
    return 10<=n<=100

print(dis.dis(f))

给出

1
2
3
4
5
6
7
8
9
10
11
12
  6           0 LOAD_CONST               1 (10)
              3 LOAD_FAST                0 (n)
              6 DUP_TOP
              7 ROT_THREE
              8 COMPARE_OP               1 (<=)
             11 JUMP_IF_FALSE_OR_POP    21
             14 LOAD_CONST               2 (100)
             17 COMPARE_OP               1 (<=)
             20 RETURN_VALUE
        >>   21 ROT_TWO
             22 POP_TOP
             23 RETURN_VALUE

但你真的想知道吗?

链接比较运算符可能是一个很好的参考。

It's really translating into 10 < n and n < 100


在python中,这类双重条件是作为连续和执行的,因此:

1
10 <= n <= 100

等于:

1
(10 <= n) and (n <= 100)

它返回一个布尔值,可以是TrueFalse,这取决于是否满足该语句。