编程语言
首页 > 编程语言> > 019-Python入门(函数)

019-Python入门(函数)

作者:互联网

变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量。
#1.局部变量:所谓局部变量是定义在函数体内部的变量,即只在函数体内部⽣效。
def testA():
    a = 100
    print(a)
testA() # 100
#print(a) # 报错:name 'a' is not defined
#变量a是定义在 testA 函数内部的变量,在函数外部访问则⽴即报错。
#局部变量的作⽤:在函数体内部,临时保存数据,即当函数调⽤完成后,则销毁局部变量。
#2.全局变量:所谓全局变量,指的是在函数体内、外都能⽣效的变量。
# 定义全局变量a
a = 200
def testA():
    print(a)  # 访问全局变量a,并打印变量a存储的数据
def testB():
    print(a) # 访问全局变量a,并打印变量a存储的数据
testA() # 200
testB() # 200

二、正常情况下,局部变量和全局变量名字相同是,局部变量数值改变,全局变量的数值不改变。

a = 100
def testA():
    print(a)
def testB():
    a = 200
    print(a)
testA() # 100
testB() # 200
print(f'全局变量a = {a}') # 全局变量a = 100
testB 函数内部的 a = 200 中的变量 a 是在修改全局变量 a 吗? 很明显不是。观察上述代码发现, 15 ⾏得到 a 的数据是 100 ,仍然是定义全局变量 a 时候的值,⽽没有返回。 testB 函数内部的 200 。综上: testB 函数内部的 a = 200 是定义了⼀个局部变量。 三、如何在函数体内部修改全局变量?( global 关键字解决这个问题 )
a = 100
def testA():
    print(a)
def testB():
 # global 关键字声明a是全局变量
    global a
    a = 200
    print(a)
testA() # 100
testB() # 200
print(f'全局变量a = {a}') # 全局变量a = 200

标签:200,入门,Python,testA,testB,print,019,100,全局变量
来源: https://blog.csdn.net/qq_43476212/article/details/121663971