global 英 /ˈɡləʊb(ə)l/ adj. 全球的,全世界的;全面的,整体的;(计算机)全局的;球形的
需求:如果有一个数据,在函数A和函数B中都要使用,该怎么办?
---------将这个数据存储在一个全局变量里面。
案例:如果把通讯录管理系统更改为模块化编程模式(程序 => 函数),面临问题:
代码:
# 定义全局变量 info = [] # 定义funcA函数 def funcA(): # 使用global声明全局变量 global info # 向info全局变量中添加数据 info.append({...}) # 定义funcB函数 def funcB(): # 共享全局作用域中的全局变量info for i in info: ...
这个会产生一个问题:能不能在局部作用域中对全局变量进行修改?
# 定义全局变量num = 10 num = 10 # 定义一个函数func def func(): # 尝试在局部作用域中修改全局变量 num = 20 # 调用函数func func() # 尝试访问全局变量num print(num)
最终结果:弹出10,所以由运行结果可知,在函数体内部理论上是没有办法对全局变量进行修改的,所以一定要进行修改,必须使用global
关键字。
# 定义全局变量num = 10 num = 10 # 定义一个函数func def func(): # 尝试在局部作用域中修改全局变量 global num num = 20 # 调用函数func func() # 尝试访问全局变量num print(num)