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

yipeiwu_com6年前Python基础

本文针对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]

结果同上

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

相关文章

PyCharm搭建Spark开发环境实现第一个pyspark程序

PyCharm搭建Spark开发环境实现第一个pyspark程序

一, PyCharm搭建Spark开发环境 Windows7, Java1.8.0_74, Scala 2.12.6, Spark 2.2.1, Hadoop2.7.6 通常情况下,Sp...

Python 中如何实现参数化测试的方法示例

之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest、nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架。 本文想针对测试中一种很常见的...

Python使用Flask框架获取当前查询参数的方法

本文实例讲述了Python使用Flask框架获取当前查询参数的方法。分享给大家供大家参考。具体如下: 这段代码实现Python的Flask框架下获取当前查询参数,即QueryString...

在Python中处理字符串之isdigit()方法的使用

 isdigit()方法检查字符串是否只包含数字(全由数字组成)。 语法 以下是isdigit()方法的语法: str.isdigit() 参数  &...

windows下安装Python虚拟环境virtualenvwrapper-win

1、安装 执行命令 pip install virtualenv 为了使用virtualenv更方便,可以借助 virtualenvwrapper 执行命令 pip install vi...