2024-10-05 10:56:10 发布
网友
在if语句中使用and与使用多个if语句之间是否存在效率差异?换句话说,就是
if expr1 == expr2 and expr3==expr4: dostuff()
从效率的角度来看,那么:
我最基本的测试并没有显示出区别,但有更多知识(或至少更彻底的测试)的人有一个明确的答案?在
使用and和嵌套ifs之间在速度上的任何差异都是最小的。你找错地方了。考虑一下这棵树:
and
if oftenTrueCondition and rarelyTrueCondition:
与
因此,除非必须首先对第一个条件求值(它是防止下一个表达式崩溃或执行愚蠢/昂贵的操作的保护),否则请考虑交换求值顺序。在
这还不足以影响你的决定。在我看来,这里的决定应该完全从可读性的角度来做。我认为,第一种通常更为标准,但有些情况下第二种可能更清楚。选择最能表达你意图的方法。在
在任何一种情况下,expr1 == expr2的计算结果为false,而第二种情况则不会求值。在
expr1 == expr2
false
使用
and
和嵌套ifs之间在速度上的任何差异都是最小的。你找错地方了。考虑一下这棵树:与
^{pr2}$因此,除非必须首先对第一个条件求值(它是防止下一个表达式崩溃或执行愚蠢/昂贵的操作的保护),否则请考虑交换求值顺序。在
这还不足以影响你的决定。在我看来,这里的决定应该完全从可读性的角度来做。我认为,第一种通常更为标准,但有些情况下第二种可能更清楚。选择最能表达你意图的方法。在
在任何一种情况下,
expr1 == expr2
的计算结果为false
,而第二种情况则不会求值。在相关问题 更多 >
编程相关推荐