Python全局变量用法实例分析
作者:miky 发布时间:2023-08-03 13:39:18
标签:Python,全局变量
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生
- LinuxNo.1 IPv4下面是IPv4的IP正则匹配实例:简单的匹配给定的字符串是否是ip地址import reif re.match(
- 一、python线程的模块1.thread和threading模块thread模块提供了基本的线程和锁的支持threading提供了更高级别
- 前言相信做自动化测试的同学一定不可忽视的问题就是验证码,他几乎是一个网站登录的标配,当然,我一般是不建议在这上面浪费时间去做识别的。举个例子
- 微信小程序与php 实现微信支付的简单实例小程序访问地址:payfee.PHP:include 'WeixinPay.php'
- document.cookie="userId=828"; 如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,
- 我们可以用鼠标把Dreamweaver的层在页面内拖动,但要全屏拖动就困难了,下面是一种实现的方法:制作步骤:一、准备图片,取名/file/
- 本文实例讲述了Python实现的HMacMD5加密算法。分享给大家供大家参考,具体如下:什么是 HMAC-MD5?1、比如你和对方共享了一个
- 该脚本的功能是卸载android手机中安装的所有第三方应用,主要是使用adb shell pm、adb uninstall 命令,所以使用的
- php 生成短网址 原理: 1.将原网址做crc32校验,得到校验码。 2.使用sprintf('%u') 将校验码转为无符
- 前言问题:我们在放大图片的过程中,放大的目标图像和原图图像之间会存在不同。放大的基本思想:第一步:将目标图像进行缩小到原图像的尺寸,虚拟的将
- 关于 channel 的使用,有几点不方便的地方:1.在不改变 channel 自身状态的情况下,无法获知一个 channel 是否关闭。2
- 解决方案1: 调用windows 的shell,但会有安全问题. * browseFolder.js * 该文件定义了BrowseFolde
- 1.函数的声明定义//func关键字//getStudent函数名//(id int, classId int) 参数列表//(name s
- 如下所示:aa = [1,2,3,4,5]aa.index(max(aa))如果aa是numpy数组:aa = numpy.array([1
- 之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看
- 使用torch.utils.data.Dataset类 处理图片数据时,1. 我们需要定义三个基本的函数,以下是基本流程class our_
- 一个日期联动选择器javascript源码,年月日联动显示,准确显示日期(包括闰年日期),可自定义日期范围。 【select】 先说清空一个
- LRU缓存算法,指的是近期最少使用算法,大体逻辑就是淘汰最长时间没有用的那个缓存,这里我们使用有序字典,来实现自己的LRU缓存算法,并将其包
- 一,利用键盘响应,在不刷新本页面的情况下验证表单输入是否合法用户通过onkeydown和onkeyup事件来触发响应事件。使用方法和oncl