擅长:python、mysql、java
<p>这是因为在<code>addInterest</code>中修改的<code>balance</code>对象与传递给函数的<code>amount</code>对象不同。简而言之,修改传递给函数的对象的本地副本,以便原始对象的值保持不变。如果在python shell中运行以下代码,则可以看到:</p>
<pre><code>>>> def addInterest(balance, rate):
... print (balance)
... newBalance = balance * (1 + rate)
... balance = newBalance
...
>>> amount = 1000
>>> rate = 0.05
>>> print id(amount)
26799216
>>> addInterest(amount, rate)
1000
>>>
</code></pre>
<p><code>id</code>函数返回一个对象的标识,该标识可用于测试两个对象是否相同。在</p>