【发布时间】:2016-02-29 18:31:42
【问题描述】:
我正在尝试使用 python 函数编写程序。在一个函数中使用的变量将在其他各种函数中需要。
我在第一个函数中将其声明为全局,然后在第二个函数中使用返回值。但是在第三个函数中,我想使用第二个函数的更新值,但我只能从第一个函数中获取值。
def func():
global val, val2
val = 3
val2 = 4
return val, val2
def func1(val, val2):
val = val + 1
val2 = val2 + 1
return val, val2
def func2(val,val2):
val = val + 1
val2 = val2 + 1
print val, val2
func()
func1(val, val2)
func2(val, val2)
我想得到5,6 作为答案,但我得到的是4,5。
【问题讨论】:
-
你混合了全局变量和本地变量。当您将变量传递给函数时,该变量是局部变量。删除函数参数并将全局 val、val2 添加到所有函数的开头。
标签: python python-2.7 scope global-variables