大家知道在python中,对一个非列表、字典的变量,对与全局变量同名的局部变量进行修改,不会影响全局变量。如果局部变量以全局变量进行赋值,就更加不会出现“修改了局部影响到全局”
A = "a"
def test():
B = A
B = "b"
print B
print A
print A
但是,如果这个变量是全局 列表,字典,元组,就有点复杂了
HEADER =["A","B"]
print HEADER[0],
def test():
t_h = HEADER
t_h[0] = "C"
print t_h[0],HEADER[0],
test()
print HEADER[0]
结果是 A C C C
1、在局部,不需要用global进行显式指明是全局变量
2、=不是一个赋值,而更像是指针指向这个全局变量
而下面这样
HEADER =["A","B"]
print HEADER[0],
def test():
t_h = HEADER
t_h = ["C","B"]
print t_h[0],HEADER[0],
test()
print HEADER[0]