如何用函数改变变量的值?

时间:2016-01-13 09:31:10

标签: python python-2.7

如何使用函数更改变量的值并将其永久存储。  尝试了下面的代码,但它不会改变变量的值。

n=2
def f(x):
    x+=2
    return x

f(n)
print n    #the output is 2 instead of 4 I want

2 个答案:

答案 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)