如果我有一个基于两个或多个条件返回布尔值的函数,那么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
因为提前and
,Python会自动返回False吗?
哪两个更快,为什么?
我的问题同样适用于or
语句,如果第一个条件为真,它是否继续评估下一个条件?