Python实现全局变量的两个解决方法


Posted in Python onJuly 03, 2014

本文针对Python的全局变量实现方法简述如下:
先来看下面一段测试程序:

count = 0
def Fuc(count):
  print count
  count += 1
for i in range(0, 10):
  Fuc(count)

运行结果是:

>>>
0
0
0
0
0
0
0
0
0
0

很显然,这并不是我们想要的结果。

针对这一问题的解决方法就是采用全局变量:

global a
a = 3
def Fuc():
  global a
  print a
  a = a + 1
if __name__ == "__main__":
global a
  for i in range(10):
    Fuc()print 'hello'
  print a

运行结果为:

>>>
3
4
5
6
7
8
9
10
11
12
hello
13

需要注意:哪里需要全局变量,哪里声明一下;但是函数千万不要传参数,比如用Fuc(a)是不行的。

解决方法2--列表:

示例代码如下:

a = [3]
def Fuc():
  print a[0]
  a[0] = a[0] + 1
if __name__ == "__main__":
  global a
  for i in range(10):
    Fuc()
  print 'hello'
  print a[0]

结果同上

列表也可以比较简单的实现这一功能

Python 相关文章推荐
python文件读写操作与linux shell变量命令交互执行的方法
Jan 14 Python
Python实现的简单文件传输服务器和客户端
Apr 08 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
Python实现简易Web爬虫详解
Jan 03 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
python实现日志按天分割
Jul 22 Python
python try...finally...的实现方法
Nov 25 Python
python switch 实现多分支选择功能
Dec 21 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 Python
Python实现端口复用实例代码
Jul 03 #Python
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 #Python
采用python实现简单QQ单用户机器人的方法
Jul 03 #Python
centos系统升级python 2.7.3
Jul 03 #Python
python实现定制交互式命令行的方法
Jul 03 #Python
小结Python用fork来创建子进程注意事项
Jul 03 #Python
在Windows8上的搭建Python和Django环境
Jul 03 #Python
You might like
php解压文件代码实现php在线解压
2014/02/13 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
理解 JavaScript Scoping & Hoisting(二)
2015/11/18 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
Python迭代用法实例教程
2014/09/08 Python
Python常用模块介绍
2014/11/21 Python
讲解Python中的标识运算符
2015/05/14 Python
小小聊天室Python代码实现
2016/08/17 Python
python difflib模块示例讲解
2017/09/13 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
基于keras中的回调函数用法说明
2020/06/17 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
留学自荐信的技巧
2013/10/17 职场文书
前处理班长职位说明书
2014/03/01 职场文书
关于保护环境的建议书
2014/05/13 职场文书
助学贷款贫困证明
2014/09/23 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby