【发布时间】:2009-11-07 05:29:10
【问题描述】:
我已经阅读了几篇关于 Python 中 switch 语句替代方案的文章。主要使用字典而不是大量的 if 和 elif。然而,没有人真正回答这个问题:有没有更好的性能或效率?我已经阅读了一些论点,即 if 和 elif 必须检查每个语句,并且在使用许多 if 和 elif 时会变得低效。然而,使用 dicts 可以解决这个问题,但你最终不得不创建新的模块来调用,这无论如何都会取消性能提升。最终唯一的区别是可读性。
任何人都可以对此发表评论,从长远来看真的有什么不同吗?有没有人经常使用替代品?我问的唯一原因是因为我最终将拥有 30-40 个 elif/if 并且将来可能更多。任何输入表示赞赏。谢谢。
【问题讨论】:
-
有一些很好的建议,还有一些关于性能的讨论,stackoverflow.com/questions/60208/…
-
“在许多 if 和 elif 中变得低效” 在浪费任何时间之前,您必须提供一些实际证据证明这变得可以实际衡量。此外,维护人员的成本通常是软件中最昂贵的部分。优化未来程序员的时间。
-
我对此做了一些测试。我正在编写一个解释器,并且使用大型 if 语句来执行指令是两个主要瓶颈之一。
标签: python performance switch-statement