擅长:python、mysql、java
<p>如果您确实需要更改传递给您的变量的值,可以将其包装在数组中,以便在过程中实现按引用传递:</p>
<pre><code>def increaseInt(i_var):
i_var[0] += 1
i_ref = [42]
increase(i_ref)
print i_ref[0] # will print 43
</code></pre>
<p>在某些情况下,这可能是解决像你这样的问题的(棘手的)解决办法。在</p>
<p>但一般来说,在Python中,所有的值都是通过引用传递的(在这种意义上,没有创建副本);有些值是不可变的(比如int、string、tuples等等)。给参数变量分配一个新值可能会使您感到困惑-这肯定不会改变之前参数变量中的值,它只是用一个新值覆盖它(从而删除对原始值的附加引用)。这就是为什么上面的例子没有给<code>i_var</code>赋值,而是给<code>i_var[0]</code>赋值。在</p>