python之global的用法注意
2020-09-22 本文已影响0人
mutang
nums = [11,22]
def test():
global nums
nums.append([33,44])
nums.append(55)
nums += [66]
print(nums)
test()
print(nums)
out:
[11, 22]
[11, 22, [33, 44], 55, 66]
总结:
-
在一个函数中对全局变量进行修改的时候,到底是否需要使用global进行说明,看是否对全局变量的指向进行了修改
如果修改了指向,即让全局变量指向了一个新的地方,那么必须使用global
如果仅仅是修改了指向空间中数据,此时不用使用global
-
定义了变量后,要修改且global说明时,必须在定义完第一时间使用,否则,报错,如下:
nums = [11,22] def test(): nums.append([33,44]) nums.append(55) global nums nums += [66] print(nums) test() print(nums)
out:
File "E:/PycharmProjects/01stu/03thread/t4testGlobal.py", line 16 global nums ^ SyntaxError: name 'nums' is used prior to global declaration