(转)python中全局变量跟局部变量小结

总结:

  1. 内部函数,不修改全局变量可以访问全局变量
  2. 内部函数,修改同名全局变量,则python会认为它是一个局部变量
  3. 在内部函数修改同名全局变量之前调用变量名称(如print(mySum)),则引发Unbound-LocalError

 

#例子1
mySum = 5
def add(a=1,b=3):
    print(a,b)
    print(mySum)

add(4,8)
#通过

#例子2
mySum = 5
def add(a=1,b=3):
    print(a,b)
    mySum = a + b
    print(mySum)

add(4,8)
#通过

#例子3
mySum = 5
def add(a=1,b=3):
    print(a,b)
    print(mySum)
    mySum = a + b
    print(mySum)

add(4,8)
# 报如下错误
# UnboundLocalError: local variable 'mySum' referenced before assignment

#例子4
mySum = 5
print("改变之前: sum=", mySum)

def add(a=1,b=3):
    global mySum
    print("add 函数中:sum=", mySum)
    mySum = a + b
    print("函数中改变之后:sum=", mySum)

add(4,8)
#通过

 

你可能感兴趣的:(python)