擅长:python、mysql、java
<p>除了不调用您的<code>counter()</code>函数之外,这无论如何也行不通。在</p>
<p>正如@Perkins在评论中提到的,你不能在你的范围之外修改引用。不能递增<code>count</code>,因为<code>int</code>在Python中是不可变的。<code>count = count + 1</code>正在创建一个新的<code>int</code>对象并丢弃旧对象。新实例需要绑定到count变量</p>
<p>假设Python3,你可以说count是“非本地的”</p>
<pre><code>def counter():
nonlocal count
count = count + 1
return count
</code></pre>
<p>这将告诉Python可以在<code>main</code>中更改count的绑定,而不是尝试使用名为count的本地(计数器)变量</p>