python 变量作用域的嵌套问题? 财富值32

2017-01-21 17:47发布

a=1 def first():     global a     b=2          a=b     def second():         c=3                  b=c         print(b)          second()     print(b)  first()

输出为 3 2
这里 first函数里 通过 global 引用全局变量a 并成功赋值,那second函数里怎么修改first里的变量b呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答

second的b是作用于second的局部变量和first里的b不是同一对象

可以看一下nonlocal.
https://docs.python.org/3/ref...

你看你second里重新复制后最后print(b)不还是2么,没毛病。