Python---global关键字---设置全局变量

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)

Python---global关键字---设置全局变量_第1张图片

最终结果:弹出10,所以由运行结果可知,在函数体内部理论上是没有办法对全局变量进行修改的,所以一定要进行修改,必须使用global关键字。


# 定义全局变量num = 10
num = 10
# 定义一个函数func
def func():
    # 尝试在局部作用域中修改全局变量
    global num
    num = 20

# 调用函数func
func()
# 尝试访问全局变量num
print(num)

Python---global关键字---设置全局变量_第2张图片

你可能感兴趣的:(python,pycharm,开发语言)