python基础学习十一:全局变量与局部变量

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

  • 局部变量

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

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

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

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

  • 全局变量

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

思考:如果有⼀个数据,在函数A和函数B中都要使用,该怎么办?

答:将这个数据存储在⼀个全局变量里面。

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

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

testA() # 100
testB() # 100

思考: testB 函数需求修改变量a的值为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 吗?

答:不是。观察上述代码发现,最后一行代码处得到a的数据是100,仍然是定义全局变量a时候的值,而没有返回testB 函数内部的200。

综上: testB 函数内部的 a = 200 是定义了一个局部变量。

思考:如何在函数体内部修改全局变量?

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

耐心的小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值