全局变量不保存更新值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局变量不保存更新值相关的知识,希望对你有一定的参考价值。
我有一个全局变量 foo
. 我正在使用一个函数将一个数字(作为参数发送到函数中)添加到到 foo
. 我第一次调用这个函数时,它运行得很好,但第二次运行时,它只给我初始值和 foo
和作为参数传递的数字。我是python新手,以下是我的代码。
foo = 5
def add_number_to_foo(num):
global foo
return foo + num
add_number_to_foo(5) # returns 10 which is fine
add_number_to_foo(6) # returns 11, I should have got 16
我是python的新手,如果问题不懂,请原谅。谢谢。
答案
你的代码的问题是,无论你返回的是什么,都没有设置回变量 foo
. 以下代码应该可以解决你的问题。
foo = 5
def add_number_to_foo(num):
global foo
return foo + num
foo = add_number_to_foo(5) # returns 10 which is fine
print(foo) # prints 10
foo = add_number_to_foo(6) # returns 11, I should have got 16
print(foo) # prints 16
另一答案
我做了下面的工作 根据@learner的评论。
foo = 5
def add_number_to_foo(num):
global foo
foo = foo + num
return foo
add_number_to_foo(5) # returns 10
add_number_to_foo(6) # returns 16
从现在开始,我已经将变量分配给了 foo
它工作得很好。
以上是关于全局变量不保存更新值的主要内容,如果未能解决你的问题,请参考以下文章
C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段