Python如何处理具有多个条件的布尔值?
如果我有一个函数,它根据两个或更多的条件返回一个布尔值(真或假),那么Python会检查每一个条件吗?
更具体地说,这是一个理论上的函数:
def f(x, y):
return x < y and f2(x, y) == 1
如果 f2
执行起来比较慢,我应该把 f
改成这样吗?
def f(x, y):
if x >= y: return False
return f2(x, y) == 1
如果 x
大于或等于 y
,Python会因为前面的 and
而自动返回假吗?
这两种方式哪个更快,为什么?
我的问题同样适用于 or
语句,如果第一个条件为真,它会继续评估下一个条件吗?