在函数中对函数全局变量进行修改的时候,到底是否需要使用global进行申明,要看是否对全局变量的指向进行了修改。如果修改,就必须使用global申明。
简单来说:不可变类型的使用必须申明,可变类型的使用不用申明。
例如:
不可变类型(数字、字符串、元组、不可变集合)
可变类型(列表、字典、可变集合)
a=1
b=[1]
def demo1():
global a
a+=1
def demo2():
b.append(2)
if __name__ == '__main__':
demo1()
demo2()
print(a, b)