2011-09-30 56 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