全局变量 和 局部变量

  • 局部变量:在函数内部定义的变量,就是局部变量, 是函数内部的占位符,与全局变量可能重名但不同,函数运算结束后,局部变量被释放 为组合数据类型且未创建,等同于全局变量
  • 全局变量:在函数外部定义的变量,或者在函数的内部,用global关键字定义的变量,就是全局变量,如果局部变量未真实创建,则是去全局变量
  • 作用域: 作用的范围 局部变量的作用范围只限定在函数的内部; 全局变量的作用范围横跨整个文件;
  • 变量的生命周期:内置 > 全局 > 局部

局部变量

def func():
	a = 1                          # 1.定义一个局部变量
	print(a)                       # 2.获取局部变量
	a = 20                         # 3.修改局部变量
	print(a)                       # 4.获取局部变量
func()
函数外部无法调用
print(a)

全局变量

b = 10                            # (1) 定义一个全局变量
print(b)                          # (2) 获取一个全局变量
b = 30                            # (3) 修改一个全局变量
print(b)
def func():
	print(b)                      # 获取一个全局变量
func()

在函数内部定义或者修改全局变量

  • 可以使用global保留字在函数内部使用全局变量

c = 100
def func():
	c = 200
func()
print(c)                         # 100

global关键字

c = 100
def func():	
	global c                     # 标记声明这个c变量为全局变量
	c = 200                      # 修改全局变量
func()
print(c)                         # 100

global关键字

def func():
	global d                     # 标记声明这个d变量为全局变量
	d = 500
func()
print(d)
总结: 
	在函数内部,如果标记的这个变量不存在,意味着,创建一个全局变量
	在函数内部,如果标记的这个变量存在,意味着,修改一个全局变量
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐