小编use*_*076的帖子

python是否会重复使用重复的计算结果?

如果我有一个希望在Python中求值的表达式,例如r下面的代码片段中的表达式,那么Python解释器会很聪明并且可以重用子结果x+y+z,还是只求它两次?我也想知道这个问题的答案是否与编译语言(例如C)相同。

x = 1
y = 2
z = 3
r = (x+y+z+1) + (x+y+z+2)
Run Code Online (Sandbox Code Playgroud)

有人提出这个问题与这个问题相似。我相信这是相似的。但是,我认为链接的问题不是“最小示例”。同样在链接的问题中,操作顺序没有歧义,例如,在与此问题类似的示例中,没有定义的操作顺序(在数学上),具体取决于各个函数调用的顺序(即模棱两可),可能会做得更好或更糟的优化工作。考虑(a b b a)(a b b a)(b a a * b),存在嵌套的重复子字符串,并且根据预处理的顺序和数量,可以执行许多不同的优化。

python interpreter interpreted-language

27
推荐指数
1
解决办法
1034
查看次数

标签 统计

interpreted-language ×1

interpreter ×1

python ×1