如何将函数中的值返回到之前声明的变量(没有全局变量)?

时间:2016-07-05 12:15:36

标签: python function variables global-variables

以下确实在函数之前声明了变量,但是当在函数中打印变量时,会输出所需的值,但是在函数之后打印时,变量的值保持与声明时的值相同。

foo = 0
def method(bar, baz):
   foo = bar + baz
   print(foo)
   return foo
method(1, 3)
print(foo)

使用全局变量输出所需的值但是我更喜欢不包含全局变量的答案。

1 个答案:

答案 0 :(得分:0)

我并不完全确定这是你想要的,因为严格来说,如果没有全局变量,你就不能拥有全局变量。您可以做的是拥有一个可变全局变量,您可以在没有明确global的情况下进行修改。

foo = []  # list is mutable, just like dict, set, ...
def method(bar, baz):
  foo[:] = [bar + baz]  # replace foo's *elements* via [:]
  print(foo)
  return foo
method(1, 3)
print(foo)