与多个ifs的Python效率

2024-10-05 10:56:10 发布

您现在位置:Python中文网/ 问答频道 /正文

在if语句中使用and与使用多个if语句之间是否存在效率差异?换句话说,就是

if expr1 == expr2 and expr3==expr4:
  dostuff()

从效率的角度来看,那么:

^{pr2}$

我最基本的测试并没有显示出区别,但有更多知识(或至少更彻底的测试)的人有一个明确的答案?在


Tags: and答案if差异语句角度效率区别
3条回答

使用and和嵌套ifs之间在速度上的任何差异都是最小的。你找错地方了。考虑一下这棵树:

if oftenTrueCondition and rarelyTrueCondition:

^{pr2}$

因此,除非必须首先对第一个条件求值(它是防止下一个表达式崩溃或执行愚蠢/昂贵的操作的保护),否则请考虑交换求值顺序。在

这还不足以影响你的决定。在我看来,这里的决定应该完全从可读性的角度来做。我认为,第一种通常更为标准,但有些情况下第二种可能更清楚。选择最能表达你意图的方法。在

在任何一种情况下,expr1 == expr2的计算结果为false,而第二种情况则不会求值。在

相关问题 更多 >

    热门问题