嵌套函数里无法使用上级函数中的变量
如下函数, 为什么 def b() 可以直接调用上一级函数def a()里的x,y,但如果想把x,y放到一个函数中进行值的改变却不可以?
报以下错误:
xy = one(x,y)
UnboundLocalError: local variable 'x' referenced before assignment
def one(n1,n2):
return
def a():
x = 10
y = 20
def b():
xy = one(x,y)
x = xy
y = xy
print(x,y)
b()
a() def one(n1,n2):
return
def a():
x = 10
y = 20
def b():
nonlocal x , y # 添加此句
xy = one(x , y)
x = xy
y = xy
print(x,y)
b()
a()
页:
[1]