擅长:python、mysql、java
<p>赋值语句<code>x = y = z</code>意味着<code>x</code>和{<cd3>}都将采用{<cd4>}的值。在</p>
<p>例如,请看赋值<code>a = b = 2</code>的字节码:</p>
<pre><code>In [45]: import dis; dis.dis(compile('a = b = 2', '', 'exec'))
1 0 LOAD_CONST 0 (2)
3 DUP_TOP
4 STORE_NAME 0 (a)
7 STORE_NAME 1 (b)
10 LOAD_CONST 1 (None)
13 RETURN_VALUE
</code></pre>
<p>使用<code>4 STORE_NAME</code>,a首先分配给2,然后是<code>7 STORE_NAME</code>,其中{<cd8>}被分配给相同的值2。在</p>
<p>所以,和</p>
^{pr2}$
<p><code>sal</code>接收值<code>0</code>。另外,当您调用<code>json.loads</code>时,会创建一个临时变量,并对其进行修改,随后将丢失引用。在</p>
<p>为了让这个工作,你需要把它分成两部分,就像你已经做的那样。在</p>
<pre><code>sal = json.loads(salaries)
sal['Hritik'] = 0
</code></pre>