num = 10
def func():
x = num + 10
print(x)
def func2():
# 报错,因为num作为左值被认为是局部变量了,不能在赋值之前使用
# num = num + 10
print(num)
func()
func2()
# 报错,不存在x
# print(x)
print(num)
# 以下是输出内容:
Out:
20
10
10
总结:
1. 在函数内重新定义的量如果与外部变量重名,是局部变量
2. 在函数内仅仅使用的量如果与外部变量重名,是全局变量
即:不能在函数内部修改全局变量!
但是我们可以使用global关键字:
num = 10
def func3():
global num
print('num:', num)
num += 10
print('num:', num)
print('num:', num)
Out:
num: 10
num: 20
num: 20
这样就做到了在函数内部修改全局变量了
3. 使用global关键字可以在函数内部修改全局变量