Python 全局变量与global关键字
来源:互联网 发布:软件小站解压密码 编辑:程序博客网 时间:2024/05/21 18:48
Python 全局变量与global关键字
在Python的变量使用中,经常会遇到这样的错误:
local variable 'a' referenced before assignment
它的意思是:局部变量“a”在赋值前就被引用了。
比如运行下面的代码就会出现这样的问题:
a = 3def Fuc(): print (a) a = a + 1Fuc()
但是如果把 a = a + 1 这一句删除又不会出现上述问题了
a = 3def Fuc(): print (a)Fuc()
原来,在Python中,a=3 定义了全局变量a,作用域从定义处到代码结束,在 a=3 以下的函数中是可以引用全局变量a的,但如果要修改函数中与全局变量同名的变量,则函数中的该变量就会变成局部变量,在修改之前对该变量的引用自然会出现未分配或未定义的错误了。
如果确定要引用并修改全局变量必须加上global关键字
a = 3def Fuc(): global a print (a) a=a+1Fuc()
注意要领:哪个函数需要修改全局变量,在函数中声明一下即可。
但是有一个函数特殊,那就是主函数:
a = 3def Fuc(): global a print (a) # 1 a = a + 1if __name__ == "__main__": print (a) # 2 a = a + 1 Fuc() print (a) # 3
输出如下(Python3环境下):
345
三个print执行的顺序为:2, 1, 3 。可以看到主函数中并没有global声明变量a,仍然可以修改全局变量a。而在普通函数中,需要global声明变量a,才可以修改全局变量a。
人生苦短,我用Python~
阅读全文
0 0
- Python 全局变量与global关键字
- Python全局变量与global语句
- python 全局变量的理解(global关键字)
- [python]global与nonlocal关键字
- python基础 - global关键字及全局变量的用法
- Python的global关键字及全局变量的用法
- python 使用全局变量 global
- python 全局变量global
- [python]global全局变量
- Python全局变量global
- 全局变量关键字global的使用
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- 初步认识JavaScript
- 基于树莓派的公交车物联网方案大纲
- assert()函数用法总结
- element-ui的输入框总结
- Android 问题|注意项
- Python 全局变量与global关键字
- Guava Cache实现本地缓存
- 写个Demo 来理解 Matrix
- BZOJ 2351 Matrix (Hash)
- 【android】onInterceptTouchEvent与onTouchEvent
- HDU6033Add More Zero
- CAD入门 调整虚线比例
- 分析网卡通过i2c总线从e2prom中读取mac地址过程
- 浏览器内核及js引擎