What does the "variable //= a value" syntax mean in Python?
floor-division, integer-division, python, python-2.x, python-3.x
Solution
`//` is a floor division operator. The `=` beside it means to operate on the variable "in-place". It's similar to the `+=` and `*=` operators, if you've seen those before, except for this is with division.
Suppose I have a variable called `d`. I set it's value to `65`, like this.
>>> d = 65
Calling `d //= 2` will divide `d` by 2, and then assign that result to d. Since, `d // 2` is 32 (32.5, but with the decimal part taken off), `d` becomes 32:
>>> d //= 2
>>> d
32
It's the same as calling `d = d // 2`.
Problem
I came across with the code syntax `d //= 2` where d is a variable. This is not a part of any loop, I don't quite get the expression. Can anybody enlighten me please?