python变量作用域

一. 作用域分类

变量作用域指的是变量生效的范围,主要分为两类:局部变量,全局变量。

二. 局部变量

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

def testA():
    a = 100
    print(a)

testA()  # 100
print(a)  # 报错:name 'a' is not defined

说明:

  1. 变量a是定义在`testA`函数内部的变量,在函数外部访问则立即报错。

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

三. 全局变量

全局变量,指的是在函数体内、外都能生效的变量。

# 定义全局变量a
a = 100

def testA():
    print(a)  # 访问全局变量a,并打印变量a存储的数据

def testB():
    print(a)  # 访问全局变量a,并打印变量a存储的数据

testA()  # 100
testB()  # 100
print(a)  # 100

四. 函数中声明变量为全局变量

a = 100

def testA():
    print(a)

def testB():
    # global 关键字声明a是全局变量
    global a    # 1
    a = 200    # 如果没有上面一行代码,这一行将定义一个新的局部变量a,而不是全局变量a
    print(a)

testA()  # 100
testB()  # 200
print(f'全局变量a = {a}')  # 全局变量a = 200

 

posted @ 2020-12-23 22:11  foreast  阅读(226)  评论(0编辑  收藏  举报