<p>根据<strong>不要在真实代码中执行此操作的标准免责声明,Javascript的Python(3)翻译如下:</p>
<pre><code>def setup_some_globals():
# Local variable
num = 666
# You have to explicitly declare variables to be global,
# otherwise they are local.
global alert_number, increase_number, set_number
def alert_number():
# You can read a variable from an enclosing scope
# without doing anything special
print(num)
def increase_number():
# But if you want to assign to it, you need to be explicit about
# it. `nonlocal` means "in an enclosing scope, but not
# global".
nonlocal num
num += 1
def set_number(x):
# Same as above
nonlocal num
num = x
# Usage:
>>> setup_some_globals()
>>> set_number(3)
>>> increase_number()
>>> alert_number()
4
</code></pre>
<p><a href="https://docs.python.org/3/reference/simple_stmts.html#the-nonlocal-statement" rel="nofollow">Docs for ^{<cd1>} statement</a></p>
<p><a href="https://docs.python.org/3/reference/simple_stmts.html#the-global-statement" rel="nofollow">Docs for ^{<cd2>} statement</a></p>
<p>但如果你真的这样做,那么几乎可以肯定有更好的方法来做你想做的事情。在</p>