【发布时间】:2017-01-05 03:27:53
【问题描述】:
我刚刚在我的代码中遇到了一个奇怪的错误,因为我在条件中使用了逗号而不是 and 关键字。请参阅下面的代码以获取简化的示例:
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"
为什么条件计算结果为True?即使a 是None,也会打印“Foo”。
【问题讨论】:
-
我想你已经创建了一个元组。它由
a和b in s的结果组成,您正在测试元组的真实性。
标签: python