擅长:python、mysql、java
<p>很明显,程序、机器正在映射工作</p>
<pre><code>bar()
# in bar function you have x, but python takes it as a private x, not the global one
def bar():
x = 4
foo()
# Now when you call foo(), it will take the global x = 3
# into consideration, and not the private variable [Basic Access Modal]
def foo():
print(x)
# Hence OUTPUT
# >>> 3
</code></pre>
<p>现在,如果要打印<code>4</code>,而不是<code>3</code>,这是全局的,<strong>您需要在foo()中传递私有值,并使foo()接受一个参数</strong></p>
<pre><code>def bar():
x = 4
foo(x)
def foo(args):
print(args)
# OUTPUT
# >>> 4
</code></pre>
<p><strong>或</strong></p>
<blockquote>
<p>Use <code>global</code> inside your <code>bar()</code>, so that machine will understand that <code>x</code> inside in bar, is global x, not private</p>
</blockquote>
<pre><code>def bar():
# here machine understands that this is global variabl
# not the private one
global x = 4
foo()
</code></pre>