1、没有修改全局变量,只是在函数内定义了一个局部变量,不会报错:
points = 4
def test(score):
points = score * 2 # 这表示在函数内重新赋值了一个新的局部变量points
print(points)
test(points)
print(points)
2、引用了全局变量的值去修改全局变量points值会报错::
points = 4
def test(score):
points = points * 2 # 报错。不可修改全局变量
print(points)
test(points)
print(points)
3、【传递参数,相当于在函数内定义了一个局部变量,而不是引用外部全局变量的值】,不会报错。
points = 4
def test(points):
points *= points # 不可修改全局变量值。这个与上一部分代码不一样,因为这儿是修改了points的值
# 上一行等价于下一行代码
# points = points * score
test(points)
print(points