擅长:python、mysql、java
<p>默认情况下,在函数外部和函数内部定义的任何同名变量分别是<code>global</code>和<code>local</code>。如果需要在函数内部更改<code>global</code>变量值,或者需要使<code>local</code>变量成为<code>global</code>(可用于所有其他函数),则只需要在函数内部显式定义<code>global</code>。</p>
<p>示例:</p>
<pre><code>a=10
def func1():
global b
global a
print('initial global a',a)
b=10
a=15
print('local and modified global a',a)
def func2():
print('global b, originated form func1',b)
print('new global a, modified at func1',a)
func1()
func2()
</code></pre>
<p>会给你结果:</p>
<pre><code>initial global a 10
local and modified global a 15
global b, originated form func1 10
new global a, modified at func1 15
</code></pre>
<p><strong>注意</strong>:如果函数中<code>local</code>和<code>global</code>变量名没有冲突,则不需要在函数中声明<code>global</code></p>