python--变量的作用域

0 阅读1分钟

变量作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用)

主要分为两类:局部变量全局变量

局部变量是定义在函数体内部的变量,即只在函数体内部生效

局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,销毁局部变量

def test_a():
    num=100
    print(num)

test_a()
print(num)

输出如下(num只在函数内部定义,函数外部未定义,在外部直接使用会报错)

image.png

全局变量是在函数内部,外部都能生效的变量

num=100
def test_a():
    print(f"test_a:{num}")

def test_b():
    print(f"test_b:{num}")

test_a()
test_b()
print(num)

输出如下

image.png

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)

输出如下

image.png

使用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)

输出如下

image.png