我遇到了一個答案,我們可以通過以下方法檢查數字是否在給定範圍之間10 < = n < = 100。我想知道這個語句是如何在python中執行的。我是python的新手,並且知道如何在java中編寫代碼。檢查數字是否在給定範圍內
從答案中,我開始知道這個功能被稱爲鏈接比較運算符。非常感謝您的回答。
我遇到了一個答案,我們可以通過以下方法檢查數字是否在給定範圍之間10 < = n < = 100。我想知道這個語句是如何在python中執行的。我是python的新手,並且知道如何在java中編寫代碼。檢查數字是否在給定範圍內
從答案中,我開始知道這個功能被稱爲鏈接比較運算符。非常感謝您的回答。
這是 '到底如何這一說法得到執行'
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
在Python中,這些種雙條件如consecutives ANDS執行,因此:
10 <= n <= 100
等於:
(10 <= n) and (n <= 100)
,它返回一個布爾值,它可以是True
或False
取決於是否符合聲明。
你什麼確切的意思是「*這一說法得到究竟如何執行*」? – Maroun
查看[隱藏的Python功能]的第一個答案(http://stackoverflow.com/questions/101268/hidden-features-of-python) – fredtantini