gpt4 book ai didi

python - BINARY ADD 和 INPLACE ADD 的区别

转载 作者:太空狗 更新时间:2023-10-30 02:46:46 32 4
gpt4 key购买 nike

我正在浏览 python 的 dis 包。我尝试了代码以查看它是如何工作的

>>> def get():
... x=4
... y=x+3 ............ this line
... z=8
... return y

然后运行 ​​dis.dis(get) 打印上述代码的字节码指令。

对于 x+3 字节码指令是 BINARY_ADD 并且在查看包文档时,我发现了另一个术语 INPLACE_ADD

虽然在那里他们提到了什么是 INPLACE_ADD 但我没有明白其中的区别。

我有两个问题

一个)。 BINARY_ADDINPLACE_ADD

有什么区别

b).我如何编写代码以便字节码指令显示 INPLACE_ADD

最佳答案

INPLACE_ADD+= 运算符:

>>> from dis import dis
>>> def f():
... x += y
...
>>> dis(f)
2 0 LOAD_FAST 0 (x)
3 LOAD_GLOBAL 0 (y)
6 INPLACE_ADD
7 STORE_FAST 0 (x)
10 LOAD_CONST 0 (None)
13 RETURN_VALUE

关于python - BINARY ADD 和 INPLACE ADD 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18892712/

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