gpt4 book ai didi

python - 使用 10**9 的成本超过 1000000000?

转载 作者:太空狗 更新时间:2023-10-29 19:34:39 24 4
gpt4 key购买 nike

在 Python 中,像 10**9 这样由字面量构成的表达式也是字面量吗?我要问的是:在经常调用且应该是轻量级的代码中使用表达式而不是意义不大但计算性较差的文字是否有成本

最佳答案

没有性能成本。考虑一下:

import dis
def foo():
x = 10**9
y = 10**9

def bar():
x = 1000000000
y = 1000000000

dis.dis(foo)
dis.dis(bar)

产量

In [6]: dis.dis(foo)
5 0 LOAD_CONST 3 (1000000000)
3 STORE_FAST 0 (x)

6 6 LOAD_CONST 4 (1000000000)
9 STORE_FAST 1 (y)
12 LOAD_CONST 0 (None)
15 RETURN_VALUE

In [8]: dis.dis(bar)
9 0 LOAD_CONST 1 (1000000000)
3 STORE_FAST 0 (x)

10 6 LOAD_CONST 1 (1000000000)
9 STORE_FAST 1 (y)
12 LOAD_CONST 0 (None)
15 RETURN_VALUE

因此当 Python 编译代码时,它将 10**9 更改为 1000000000。到字节码运行时,使用 10**91000000000 没有区别。

关于python - 使用 10**9 的成本超过 1000000000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34239159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com