擅长:python、mysql、java
<p>使用<code>nonlocal c</code>以达到预期效果。第一种情况之所以有效,是因为您不直接更改<code>c</code>,而是将<code>c</code>的内容指定给list类型的内容</p>
<pre><code>def outer(c=0):
def inner(x):
nonlocal c # < note `nonlocal`
nx = c + x
c = nx
return c
return inner
p = outer()
print( p(1) )
print( p(1) )
</code></pre>
<p>印刷品:</p>
<pre><code>1
2
</code></pre>