给函数内部的全局变量赋值

时间:2018-11-23 09:15:40

标签: python python-3.x scope

a = 2
def alter_a():
    a = a * 2
    return a

为什么这行不通?我知道它不会更改全局变量的值,但是它不能在函数内部工作吗?

将新值分配给...,这是旧值*2。为什么这不可能?

1 个答案:

答案 0 :(得分:2)

如果要引用外部的a,则函数内部的global位于函数作用域内:

a = 2
def alter_a():
    global a
    a = a * 2