考虑到以下是Python中一个非常简单的函数的两个版本,问题是哪个版本比另一个好,为什么?在
与使用额外赋值的case 1
相比,case 1
是否有额外的内存使用量和/或CPU使用量?在
案例1:
def f(x): y = x*x return y
案例2:
^{pr2}$在我看来,case 1
比另一个更清楚,特别是在复杂计算和提供许多返回对象的情况下。另一方面,case 2
看起来非常紧凑,被认为是一个非常有吸引力的so。因为简单就是高效。你怎么认为?在
更新:
我不知道Python中有反汇编程序!当我知道我的问题的答案和检查类似想法的方法时,真是太棒了。特别感谢。from dis import dis as dasm
dasm(f)
首选的样式是对该特定函数最具可读性的样式。一旦你有了可读的、正确的代码,你可能就完成了。如果性能在这一点上是一个问题,那么分析一下瓶颈在哪里,并在这些地方下功夫。在
如果您想知道什么样的Python样式是首选的,请查看标准库中的代码:
您将看到
case 2
样式是最常见的。在我个人只在需要变量名以增加代码清晰度时使用赋值表:
^{pr2}$这段代码的一小部分开销
对于第一个:
对于第二个:
^{pr2}$正如您所看到的,分配某些东西会有一个(轻微的)成本,即使您根本不使用它,除了在返回之前保留值。在
相关问题 更多 >
编程相关推荐