ホームページ > バックエンド開発 > Python チュートリアル > Python实现全局变量的两个解决方法

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

WBOY
リリース: 2016-06-06 11:30:57
オリジナル
1151 人が閲覧しました

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

ログイン後にコピー

结果同上

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート