【发布时间】:2021-08-02 07:56:13
【问题描述】:
以下程序给了我错误:
NameError: name 'n' is not defined
def g():
n=7
def f():
global n
if n==7:
n=7
return f()
g()
谁能帮我理解这是什么意思?
【问题讨论】:
-
n实际上应该是全球性的吗?因为它看起来更像是g的局部变量,这将使它成为f中的nonlocal,而不是全局变量。见stackoverflow.com/q/2609518/38906320 -
这就是它所说的,当你点击
if n==7这一行时没有全局定义的n。在这种情况下,请使用nonlocal
标签: python global-variables nameerror