I was going through the dis package of python. I tried code to see how it is working
>>> def get():
... x=4
... y=x+3 ............ this line
... z=8
... return y
and then run dis.dis(get)
which prints the byte-code instruction for above code.
for x+3
byte-code instruction is BINARY_ADD
and when went trough package docs, I found another term INPLACE_ADD
Although in there they have mentioned what is INPLACE_ADD
but I did not get the difference.
I have two question
a). what is difference between BINARY_ADD
and INPLACE_ADD
b). how can I write code so that byte-code instruction shows INPLACE_ADD
INPLACE_ADD
is the +=
operator:
>>> 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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With