2011-09-30 78 views
4

去有點精神在這裏試圖找出這是什麼一樣在python:的Python:打印「字」,在[] ==假

print "word" in [] == False 

爲什麼這個打印False

+4

你有問題嗎? – Johnsyweb

+1

如果您希望輸出「True」,則需要在parens中將[]'中的單詞'分組:'print(「word」in [])== False' – GreenMatt

+2

與布爾值相比毫無意義。 –

回答

1

我想補充馬克拜爾斯偉大的答案

>>> import dis 
>>> dis.dis(lambda: 'word' in [] == False) 
    1   0 LOAD_CONST    1 ('word') 
       3 BUILD_LIST    0 
       6 DUP_TOP    
       7 ROT_THREE   
       8 COMPARE_OP    6 (in) 
      11 JUMP_IF_FALSE_OR_POP 21 
      14 LOAD_GLOBAL    0 (False) 
      17 COMPARE_OP    2 (==) 
      20 RETURN_VALUE   
     >> 21 ROT_TWO    
      22 POP_TOP    
      23 RETURN_VALUE   
>>> dis.dis(lambda: ('word' in []) == False) 
    1   0 LOAD_CONST    1 ('word') 
       3 LOAD_CONST    2 (()) 
       6 COMPARE_OP    6 (in) 
       9 LOAD_GLOBAL    0 (False) 
      12 COMPARE_OP    2 (==) 
      15 RETURN_VALUE