以下确实在函数之前声明了变量,但是当在函数中打印变量时,会输出所需的值,但是在函数之后打印时,变量的值保持与声明时的值相同。
foo = 0
def method(bar, baz):
foo = bar + baz
print(foo)
return foo
method(1, 3)
print(foo)
使用全局变量输出所需的值但是我更喜欢不包含全局变量的答案。
答案 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)