對於全局變量的修改,如果全局變量是int或者str,那么如果想要在函數中對函數變量進行修改,則需要先在函數內,聲明其為global,再進行修改
如果是list或者dict則可以直接修改。
a = 1
b = [2, 3]
c = 1
def func():
a = 2
print ("in func a:", a)
b[0] = 1
print ("in func b:", b)
global c
c = 3
print ("in func c:", c)
if __name__ == '__main__':
print ("before func a:", a)
print ("before func b:", b)
print ("before func c:", c)
func()
print ("after func a:", a)
print ("after func b:", b)
print ("after func c:", c)

如上示例:
a和c是int型,如何沒有聲明global的話,那么a的值只是暫時修改了,而聲明了全局的c永久變成了3,
對於列表b來說,雖然沒有聲明global,但在某個函數中修改了也被全局修改了。
來自我們都是大好青年博客:https://www.cnblogs.com/zhibei/p/9755938.html
