python中的global关键字
[TOC]
概述
文章转自:https://www.cainiaojc.com/python/python-global-keyword.html
在Python中,global关键字允许您在当前作用域之外修改变量。它用于创建全局变量并在局部上下文中对该变量进行更改。
全局关键字规则
Python中global关键字的基本规则是:
- 当我们在函数内部创建变量时,默认情况下它是局部的。
- 当我们在函数外部定义变量时,默认情况下它是全局的。您不必使用global关键字。
- 我们使用global关键字在函数内部读写全局变量。
- 在函数外使用global关键字无效
代码实例
让我们举个实例。
示例1:从函数内部访问全局变量
1 | c = 1 # 全局变量 |
但是,在某些情况下,我们需要从函数内部修改全局变量。
示例2:从函数内部修改全局变量
1 | c = 1 # 全局变量 |
当我们运行上面的程序时,输出显示错误:
1 | UnboundLocalError: local variable 'c' referenced before assignment |
这是因为我们只能访问全局变量,而不能从函数内部对其进行修改。
解决方案是使用global关键字。
示例3:使用global从函数内部更改global变量
1 | c = 0 # 全局变量 |
当我们运行上面的程序时,输出将是:
1 | Inside add(): 2 |
在上面的程序中,我们将c定义为add()函数内部的全局关键字。
然后,将变量c增加1,即c = c + 2。之后,我们调用该add()函数。最后,我们打印全局变量c。
如我们所见,函数之外的全局变量也发生了变化c = 2。
示例4:跨Python模块共享全局变量
在Python中,我们创建一个模块config.py来保存全局变量,并在同一程序中的Python模块之间共享信息。
这是我们如何在python模块之间共享全局变量。
创建一个config.py文件,以存储全局变量
1 | a = 0 |
创建一个update.py文件,更改全局变量
1 | import config |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus