更快“if”语句

时间:2017-04-18 19:27:43

标签: python performance if-statement performance-testing execution-time

我有一个关于在python中计算速度更快的问题。 这是一个很大的模拟,所以节省时间的任何小事都有帮助。

据我所知,当python评估一个带有“或”的“if”语句时,如果第一个条件为真,则不会对第二个条件感到烦恼。

这里我要检查0到1之间随机生成的浮点数是否小于某个指数因子。

if random() < exp(a-b):
   do_things()

在这种情况下,当第二个条件意味着第一个条件时,使用逻辑冗余的“if”语句是否值得,但第一个可能更快计算?

if a > b or random() < exp(a-b):
  do_things()

这会更快到甚至不重要吗?任何意见都表示赞赏,谢谢!

1 个答案:

答案 0 :(得分:1)

这意味着对于(a和b和c),如果a为假,b或c将不再被测试。

类似地,如果你有OR表达式(a或b)并且a为真,则永远不会评估b。

总而言之,这些条款在分离时不会更快失败。

不要担心性能,担心可读性......谢谢

相关问题