020-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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值