我遇到了一个答案,我们可以通过以下方法10< = n< = 100来检查数字是否在给定范围之间。我想知道这个语句在python中是如何执行的。我是python的新手并且知道如何在java中编写代码。
从答案中,我才知道这个功能被称为链接比较运算符。非常感谢您的回答。
答案 0 :(得分:3)
这是如何执行此语句'
import dis
def f(n):
return 10<=n<=100
print(dis.dis(f))
给出了
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
但你真的想知道吗?
Chaining comparison operators可能是一个很好的参考。
它真正转化为
10 < n and n < 100
答案 1 :(得分:1)
在python中,这些双重条件作为连续和执行,所以:
10 <= n <= 100
等于:
(10 <= n) and (n <= 100)
它返回一个布尔值,可以是True
或False
,具体取决于是否满足该语句。