2017-01-02 65 views
-2

我遇到了一個答案,我們可以通過以下方法檢查數字是否在給定範圍之間10 < = n < = 100。我想知道這個語句是如何在python中執行的。我是python的新手,並且知道如何在java中編寫代碼。檢查數字是否在給定範圍內

從答案中,我開始知道這個功能被稱爲鏈接比較運算符。非常感謝您的回答。

+1

你什麼確切的意思是「*這一說法得到究竟如何執行*」? – Maroun

+0

查看[隱藏的Python功能]的第一個答案(http://stackoverflow.com/questions/101268/hidden-features-of-python) – fredtantini

回答

2

這是 '到底如何這一說法得到執行'

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

在Python中,這些種雙條件如consecutives ANDS執行,因此:

10 <= n <= 100 

等於:

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

,它返回一個布爾值,它可以是TrueFalse取決於是否符合聲明。

相關問題