Home > Backend Development > Python Tutorial > Python实现全局变量的两个解决方法

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 11:30:57
Original
1164 people have browsed it

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

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

运行结果是:

>>>
0
0
0
0
0
0
0
0
0
0
Copy after login

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

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

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

Copy after login

运行结果为:

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

Copy after login

需要注意:哪里需要全局变量,哪里声明一下;但是函数千万不要传参数,比如用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]

Copy after login

结果同上

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

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template