<p>我在代码中遇到了一个奇怪的错误,原因是我在条件关键字中使用了逗号,而不是<code>and</code>关键字。请参见下面的代码,以获取淡化的示例:</p>
<pre><code>def foo():
s = set([1, 2, 3])
a = 4
b = 5
if (a, b in s): # Should have been: if (a and b in s):
print "Foo"
foo() # prints "Foo"
</code></pre>
<p>为什么条件的计算结果是<code>True</code>?即使<code>a</code>是<code>None</code>,“Foo”也会被打印出来。你知道吗</p>