小编sta*_*tam的帖子

为什么“any”和“all”在这里似乎没有使用短路求值?

all()在序列中找到 False 后是否立即返回 False?
尝试运行这段代码:

def return_true():
    print('I have just been printed')
    return True

print(all((False, return_true())))
Run Code Online (Sandbox Code Playgroud)

如您所见,I have just been printed即使前面有 False,也会打印出来。

另一个例子:

def return_false():
    print('I have just been printed')
    return False

print(any((True, return_false())))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,I have just been printed即使之前有 True,也会在此代码中打印。

python

5
推荐指数
1
解决办法
103
查看次数

标签 统计

python ×1