在.NET VB和C#中,我们可以使用AndAlso(&& ),OrElse( || )进行逻辑运算
在Python中,等价的逻辑运算符是什么?他们只限于和'和' 或'?
已更新:以下是And / Or和AndAlso / OrElse之间的区别
引自https://stackoverflow.com/a/8409488/719998
或/并将始终评估两个表达式然后返回a 结果。它们不是short-circuiting评估。
OrElse / And也是短路的。只有在无法从评估中确定结果时,才会评估正确的表达 左边的表达单独。 (这意味着:OrElse只会评估 如果左表达式为false,则为正确的表达式,AndAl也将为 如果左表达式为真,则仅评估正确的表达式。)
答案 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