擅长:python、mysql、java
<p>第二行到最后一行是运算符的组合,在某种程度上,包括一个不常见的运算符,这就是它有点混乱的原因。</p>
<p>我们把它分开吧。</p>
<p>首先,Python中的<code>//</code>是<a href="https://stackoverflow.com/questions/183853/in-python-what-is-the-difference-between-and-when-used-for-division">floor division</a>,基本上是除法四舍五入到最接近的整数。因此</p>
<pre class="lang-py prettyprint-override"><code>>>> 16//5
3
>>> 2//1
2
>>> 4//3
1
>>> 2//5
0
</code></pre>
<p>最后,之所以有<code>=</code>是因为Python语法允许对变量执行操作,然后立即将结果重新分配给变量。您可能在<code>+=</code>中最常见的情况是:</p>
<pre class="lang-py prettyprint-override"><code>>>> a = 5
>>> a += 7
>>> a
12
</code></pre>
<p>在这种情况下,<code>//=</code>表示“执行floor division,floor除以第二个参数,然后将结果赋给原始输入变量。”因此:</p>
<pre class="lang-py prettyprint-override"><code>>>> a = 10
>>> a //= 6
>>> a
1
</code></pre>