变量作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用)
主要分为两类:局部变量和全局变量
局部变量是定义在函数体内部的变量,即只在函数体内部生效
局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,销毁局部变量
def test_a():
num=100
print(num)
test_a()
print(num)
输出如下(num只在函数内部定义,函数外部未定义,在外部直接使用会报错)
全局变量是在函数内部,外部都能生效的变量
num=100
def test_a():
print(f"test_a:{num}")
def test_b():
print(f"test_b:{num}")
test_a()
test_b()
print(num)
输出如下
global关键字
在函数内部改变变量,会怎么样(只会改变该函数的值,第6行)
num=100
def test_a():
print(f"test_a:{num}")
def test_b():
num=500 #局部变量,只能在该函数内改变num的值
print(f"test_b:{num}")
test_a()
test_b()
print(num)
输出如下
使用global关键字,可以在函数内部声明变量为全局变量(第6行使用方法)
num=100
def test_a():
print(f"test_a:{num}")
def test_b():
global num #设置内部定义的变量为全局变量
num=500 #局部变量,只能在该函数内改变num的值
print(f"test_b:{num}")
test_a()
test_b()
print(num)
输出如下