如何使用函数更改变量的值并将其永久存储。 尝试了下面的代码,但它不会改变变量的值。
n=2
def f(x):
x+=2
return x
f(n)
print n #the output is 2 instead of 4 I want
答案 0 :(得分:2)
将变量视为值的标签,n
标记为2
,如果您希望n标记f
函数的值,只需将其标记为:
n=2
def f(x):
x+=2
return x
n = f(n)
print n
答案 1 :(得分:0)
def f(x):
return x + 2
n = 2
n = f(n)
print(n)
这是应该如何使用函数。它们接收值作为参数并返回新值。何时/何地/如何分配给变量是调用者的问题,因为变量在调用者的范围内。
如果你想要"自我修改",一个类可能是更好的选择:
class Foo:
def __init__(self, n):
self.n = n
def inc(self):
self.n += 2
f = Foo(2)
f.inc()
print(f.n)