"variable //= a value" 语法在 Python 中是什么意思?

What does the "variable //= a value" syntax mean in Python?

我遇到了代码语法 d //= 2,其中 d 是一个变量。这不是任何循环的一部分,我不太明白这个表达式。
有人可以启发我吗?

// 是楼层除法运算符。旁边的=表示对变量"in-place"进行操作。它类似于 +=*= 运算符,如果您以前见过它们,除了它是除法。

假设我有一个名为 d 的变量。我将它的值设置为 65,像这样。

>>> d = 65

调用d //= 2会将d除以2,然后将结果赋值给d。因为,d // 2 是 32(32.5,但去掉了小数部分),d 变成了 32:

>>> d //= 2
>>> d
32

和调用d = d // 2一样。

它将 d 除以 2,向下舍入。 Python可以运行交互,试试吧

$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
>>> a = 4
>>> a //= 2
>>> a
2

将带floor除法的变量除以2,并将新的数量分配给变量。