Python:请帮助我理解这个范围问题

时间:2016-07-08 18:53:19

标签: python scope

从Javascript到Python真的只是意味着范围是撒旦转世。

使用此代码,一切都很好:

a = 10

def elFunction():
    print a
    if (4 > 2):
        print a

elFunction()

有了这段代码,我就死了一点

a = 10

def elFunction():
    a += 1
    if (4 > 2):
        print a

elFunction()

为什么此代码会产生错误?

1 个答案:

答案 0 :(得分:3)

a设为全局变量:

a = 10

def elFunction():
    # Specify that a is global
    global a
    a += 1
    if (4 > 2):
        print a

elFunction()

这会打印11