擅长:python、mysql、java
<p>假设<code>file2.NUMMOUNTAINS</code>是<code>int</code>或<code>float</code>,请注意这两种类型都是不可变的,即不能就地更改。你知道吗</p>
<p>因此,当您将<code>self.sliders[i].update()</code>返回的值赋给<code>self.sliderData[i]['variable']</code>时,这不会改变<code>file2.NUMMOUNTAIN</code>,而是将字典引用赋给另一个对象。你知道吗</p>
<p>下面是一个简单的例子:</p>
<pre><code>>>> d = {'a': 1}
>>> id(d['a'])
1751629384
>>> d['a'] += 1
>>> d
{'a': 2}
>>> id(d['a'])
1751629400 # different 'id' means different object
</code></pre>
<p>您必须显式地更改属性的值,例如</p>
<pre><code>file2.NUMMOUNTAIN = self.sliderData[0]['variable']
</code></pre>