==与Python中的运算符相对

-8 python if-statement equals

我对python中的比较运算符有疑问.我想知道这是对还是错.

我有一些分配给变量的输出.所以我们说:

result1, result2, result3
Run Code Online (Sandbox Code Playgroud)

现在我做一个比较

if result1 == 0 and result2 == 0 and result3 == 0: 
    print "Success "
else:
    print "failure"
Run Code Online (Sandbox Code Playgroud)

我怀疑这种比较可以用这种格式进行

if 0 in (result1 , result2 ,result3):
    print "Success"
else :
    print "failure"
Run Code Online (Sandbox Code Playgroud)

这是正确使用Python吗?如果没有,那是什么原因?

Sim*_*ser 6

您可以进行比较,但您的第二次比较与第一次比较不同.

此比较仅True在每个变量为0时进行:

if result1 == 0 and result2 == 0 and result3 == 0:
Run Code Online (Sandbox Code Playgroud)

True当至少有一个变量为0时,这种比较是:

if 0 in (result1, result2, result3):
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,那不是完全相同的比较.要执行相同的比较,您可以:

if (0, 0, 0) == (result1, result2, result3):
Run Code Online (Sandbox Code Playgroud)


Sea*_*son 5

if 0 in (result1, result2, result3):
Run Code Online (Sandbox Code Playgroud)

相当于:

if result1==0 or result2==0 or result3==0:
Run Code Online (Sandbox Code Playgroud)

你想要的是这个:

if (0,0,0) == (result1, result2, result3):
Run Code Online (Sandbox Code Playgroud)

这相当于:

if result1==0 and result2==0 and result3==0:
Run Code Online (Sandbox Code Playgroud)

你甚至可以这样做:

if result1==result2==result3==0:
Run Code Online (Sandbox Code Playgroud)

因为你正在检查所有3个变量是否相同.

  • Python区分大小写.所以`x OR y`是一个`SyntaxError`. (3认同)