【发布时间】:2017-05-16 12:05:40
【问题描述】:
我遇到了一个答案,我们可以通过以下方法 10
从答案中,我知道此功能称为链接比较运算符。非常感谢您的回答。
【问题讨论】:
-
你所说的“这个语句是如何被执行的”到底是什么意思?
-
查看Hidden features of Python的第一个答案
标签: python
我遇到了一个答案,我们可以通过以下方法 10
从答案中,我知道此功能称为链接比较运算符。非常感谢您的回答。
【问题讨论】:
标签: python
在python中,这种双重条件是作为连续的ands来执行的,所以:
10 <= n <= 100
等于:
(10 <= n) and (n <= 100)
它返回一个布尔值,可以是True 或False,具体取决于是否满足语句。
【讨论】:
这是“这条语句的执行方式”
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
【讨论】: