Python全局变量用法实例分析
作者:miky 时间:2023-08-03 13:39:18
本文实例讲述了Python全局变量用法。分享给大家供大家参考,具体如下:
全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量。今天有同事问一个关于全局变量的问题,才发现其中原来还有门道。
程序大致是这样的:
CONSTANT = 0
def modifyConstant() :
print CONSTANT
CONSTANT += 1
return
if __name__ == '__main__' :
modifyConstant()
print CONSTANT
运行结果如下:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment
看来,全局变量在函数modifyConstant中边成了局部变量,似乎全局变量没有生效?
做点修改:
CONSTANT = 0
def modifyConstant() :
print CONSTANT
#CONSTANT += 1
return
if __name__ == '__main__' :
modifyConstant()
print CONSTANT
运行正常,看来函数内部是可以访问全局变量的。
所以,问题就在于,因为在函数内部修改了变量CONSTANT,Python认为CONSTANT是局部变量,而print CONSTANT又在CONSTANT += 1之前,所以当然会发生这种错误。
那么,应该如何在函数内部访问并修改全局变量呢?应该使用关键字global来修饰变量(有点像PHP):
CONSTANT = 0
def modifyConstant() :
global CONSTANT
print CONSTANT
CONSTANT += 1
return
if __name__ == '__main__' :
modifyConstant()
print CONSTANT
就这么简单!
希望本文所述对大家Python程序设计有所帮助。
标签:Python,全局变量
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
PyQt5每天必学之单行文本框
2022-09-12 06:29:35
![](https://img.aspxhome.com/file/2023/1/82551_0s.png)
SQL Server asp.net 数据提供程序连接池
2009-09-18 08:18:00
pandas 选取行和列数据的方法详解
2022-12-29 19:28:58
![](https://img.aspxhome.com/file/2023/1/124761_0s.png)
详解Python中如何将数据存储为json格式的文件
2023-11-01 02:42:11
![](https://img.aspxhome.com/file/2023/8/115228_0s.png)
windows下Anaconda的安装与配置正解(Anaconda入门教程) <font color=red>原创</font>
2023-05-23 11:10:50
![](https://img.aspxhome.com/file/2023/7/82927_0s.png)
Mysql导入TXT文件
2012-01-05 19:01:10
Python实现Kmeans聚类算法
2023-05-07 19:25:36
php 静态页面中显示动态内容
2023-11-18 22:09:22
Python3实现自定义比较排序/运算符
2023-04-15 23:32:25
JavaScript Math 对象常用方法总结
2024-06-05 09:33:56
基于python的Paxos算法实现
2023-04-15 07:40:58
![](https://img.aspxhome.com/file/2023/4/107034_0s.png)
select count()和select count(1)的区别和执行方式讲解
2024-01-29 03:11:31
![](https://img.aspxhome.com/file/2023/3/124523_0s.png)
浅谈终端直接执行py文件,不需要python命令
2022-12-25 14:38:11
Python单例模式的两种实现方法
2023-03-03 12:31:09
Flask模板引擎Jinja2使用实例
2022-01-19 11:58:39
JQuery+DIV自定义滚动条样式的具体实现
2024-04-22 13:27:07
面向新手解析python Beautiful Soup基本用法
2023-11-06 22:29:50
![](https://img.aspxhome.com/file/2023/0/103710_0s.png)
python实现矩阵乘法
2023-11-03 07:41:10
python itertools包内置无限迭代器
2023-11-16 18:58:59
树莓派实现移动拍照
2021-10-07 18:02:25