全局变量在函数内部的修改
接下来,先看两个例子:
例子一:
g_num = 0
def test1():
global g_num
g_num += 10
print("test1后 g_num为:%d" % g_num)
def test2():
g_num = 0
g_num += 20
print("在test2里 g_num为:%d" % g_num)
def main():
print("未执行程序之前 g_num为:%d" % g_num)
test1()
test2()
print("未执行程序之后 g_num为:%d" % g_num)
if __name__ == '__main__':
main()
以上程序,在test1中声名全局变量,然后修改全局变量后,最终全局变量的修改生效
而在test2中,并没有修改全局变量,所以此时g_num为局部变量,仅仅在test2中生效。
例子二:
g_list=[1,2]
def test1():
g_list.append(10)
print("经过test1后