Puzzle 27: Explanation
Let’s find out how augmented arithmetic assignments work in Python.
We'll cover the following...
We'll cover the following...
Try it yourself
Try executing the code below to verify the results:
Press + to interact
Python 3.8
def add_n(items, n):items += range(n)items = [1]add_n(items, 3)print(items)
In Puzzle 16: Call Me Maybe, we talked about rebinding versus mutation. Most of the time, items += range(n)
is translated to items = items + range(n)
, a process which is called rebinding.
In some cases, there is a special optimization for +=
. Here’s a more detailed explanation from the Python ...