什么是Python中的AndAlso(&&)和OrElse(||)逻辑运算符的等价物?

时间:2017-11-30 11:43:38

标签: python python-2.7 logical-operators equivalent

在.NET VB和C#中,我们可以使用AndAlso(&& ),OrElse( || )进行逻辑运算

在Python中,等价的逻辑运算符是什么?他们只限于'和' '?

已更新:以下是And / Or和AndAlso / OrElse之间的区别
引自https://stackoverflow.com/a/8409488/719998

  

或/并将始终评估两个表达式然后返回a   结果。它们不是short-circuiting评估。

     

OrElse / And也是短路的。只有在无法从评估中确定结果时,才会评估正确的表达   左边的表达单独。 (这意味着:OrElse只会评估   如果左表达式为false,则为正确的表达式,AndAl也将为   如果左表达式为真,则仅评估正确的表达式。)

2 个答案:

答案 0 :(得分:3)

Python已经这样做了:

def foo():
    print ("foo")
    return True

def bar():
    print ("bar")
    return False


print (foo() or bar())
print ("")
print (bar() or foo())

返回:

foo
True

bar
foo
True

在Python中不需要AndAlso或OrElse,它会懒惰地评估布尔条件(docs)。

答案 1 :(得分:-1)

在python中,您可以使用逻辑门

例如,您可以使用and&

https://docs.python.org/2/library/stdtypes.html#bitwise-operations-on-integer-types