Python:在[] == False中打印"word"

Tom*_*ner 4 python

在这里有点精神,试图找出它在python中的作用:

print "word" in [] == False
Run Code Online (Sandbox Code Playgroud)

为什么打印False

Mar*_*ers 11

也许这种不寻常行为的一个更明显的例子如下:

>>> print 'word' in ['word']
True
>>> print 'word' in ['word'] == True
False
Run Code Online (Sandbox Code Playgroud)

你的例子相当于:

print ("word" in []) and ([] == False)
Run Code Online (Sandbox Code Playgroud)

这是因为可以组合两个布尔表达式,目的是允许这个缩写:

a < x < b
Run Code Online (Sandbox Code Playgroud)

对于这个更长但相当的表达式:

(a < x) and (x < b)
Run Code Online (Sandbox Code Playgroud)