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呢?
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呢?
second的b是作用于second的局部变量和first里的b不是同一对象
second()
print(b)
你看你second里重新复制后最后print(b)不还是2么,没毛病。
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
可以看一下nonlocal.
https://docs.python.org/3/ref...