4.3变量作用域

4.3变量作用域
局部变量和全局变量
example4.3.1

>>> # 局部变量和全局变量
>>> x = 'I am a global var'
>>> def fun():
	a = 100
	print(a)
	print(x)
	
>>> fun()
100
I am a global var

>>> print(a)
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    print(b)
NameError: name 'a' is not defined

example4.3.2

>>> # 同名情况
>>> x ='I am a global var'
>>> def fun():
	x = 200
	print(x)
	
>>> fun()
200
>>> print(x)
I am a global var
global 语句 
global 变量名 强制声明为全局变量
example4.3.3
>>># y 不是全局变量
>>> def fun():
	x = 100
	y = 200
	print(x)
	
>>> fun()
100
>>> print(y)
Traceback (most recent call last):
  File "<pyshell#66>", line 1, in <module>
    print(y)
NameError: name 'y' is not defined


>>> #  y为全局变量(global强制定义为全局变量)
>>> def fun():
	x = 100
	global y
	y = 200
	print(x)


	
>>> fun()
100
>>> print(y)
200

Attation:函数体内 声明了global全局变量,函数必须要执行,否则会出现以下报错

example4.3.4
>>> def fun():
	x = 100
	global yy
	yy =200
	print(x)


	
>>> print(yy)
Traceback (most recent call last):
  File "<pyshell#81>", line 1, in <module>
    print(yy)
NameError: name 'yy' is not defined

正确调用为

>>> def fun():
	x = 100
	global yy
	yy = 200
	print(x)

	
>>> fun()
100
>>> print(yy)
200
>>> 
注:学习内容来源于网易云课堂《疯狂的Python:快速入门精讲》;代码执行环境为Win;Python版本为 3.3.3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值