函数内可以访问全局变量,但不能更新(修改)其值!
例 :
a =10
def sum ( n ):
n += a
print('a = ', a,end=' , ')
print('n = ', n )
sum(3)
输出 :
a = 10, n = 13
如果引用了还没更新的值则会报错 :
a =10
def sum ( n ):
n += a
a =11
print('a = ', a,end=' , ')
print('n = ', n )
sum(3)
输出 :
...
UnboundLocalError:local variable 'a' referenced before assignment
可以加上 global 引用以更新变量值 :
a =10
def sum ( n ):
global a
n += a
a =11
print('a = ', a,end=' , ')
print('n = ', n )
sum (3)
print('外 a = ', a )
输出:
a = 11 , n = 13 外 a = 11