标签: python python-3.x scope
a = 2 def alter_a(): a = a * 2 return a
为什么这行不通?我知道它不会更改全局变量的值,但是它不能在函数内部工作吗?
将新值分配给...,这是旧值*2。为什么这不可能?
答案 0 :(得分:2)
如果要引用外部的a,则函数内部的global位于函数作用域内:
a
global
a = 2 def alter_a(): global a a = a * 2