|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 李二蛋 于 2022-3-30 16:37 编辑
>>> x
1
>>> def funA():
global x
x = 880
def funB():
nonlocal x
x = 520
print('x in funB,x = ',x)
funB()
print('x in funA,x = ',x)
SyntaxError: no binding for nonlocal 'x' found
请问各位前辈,global语句和nonlocal语句不能同时用么
我想要达到的效果是输出
x in funB,x = 520
x in funA,x = 520
x
520
我测试成功了,连续用两个global语句就可以实现
>>> def funA():
global x
x = 880
def funB():
global x
x = 520
print('x in funB,x = ',x)
funB()
print('x in funA,x =',x)
>>> funA()
x in funB,x = 520
x in funA,x = 520
>>> x
520
这是为啥呢,仅在嵌套函数内层使用global仅改变全局参数,但是在嵌套函数内层和外层同时使用global,外层嵌套也被内层更改了,这是为啥呀
|
|