擅长:python、mysql、java
<p>python对此做了什么:</p>
<pre><code>A, B = C, D
</code></pre>
<p>它将第一个值赋给第一个变量,将第二个值赋给第二个变量:</p>
<pre><code>A = C
B = D
</code></pre>
<p>这是因为python在内部使用逗号分隔的值生成“元组”:</p>
<pre><code>(A, B) = (C, D)
</code></pre>
<p>当你这么做的时候</p>
<pre><code>A = C, B = D
</code></pre>
<p>Python相信您正在做:</p>
<pre><code>A = (C, B) = D
</code></pre>
<p>或:</p>
<pre><code>(C, B) = D # Which is C = D[0] and B = D[1]
A = (C, B)
</code></pre>
<p>但是<code>C</code>在您的例子中是一个数字,而不是一个变量,所以:</p>
<pre><code>x = 10, y = 20
</code></pre>
<p>是:</p>
<pre><code>x = (10, y) = 20
</code></pre>
<p>或:</p>
<pre><code>(10, y) = 20
x = (10, y)
</code></pre>
<p>这是不可能的。你不能给一个数字赋值(<code>10</code>)。做<code>10 = 'something'</code>会给你<code>SyntaxError: can't assign to literal</code>。你知道吗</p>
<p>为了更简单,只需在python控制台中执行:</p>
<pre><code>10 = 1
</code></pre>
<p>你也会犯同样的错误。你知道吗</p>