Python 如何使用函数更改变量的值?

Python 如何使用函数更改变量的值?,python,python-2.7,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 将变量视为值的标签,n正在标记2,如果希望n标记f函数的值,只需再次标记它: n=2 def f(x): x+=2 return x n = f(n) print n 这就是函数应该如何使用。它们接收作为参数的值并返回新

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

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

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

将变量视为值的标签,
n
正在标记
2
,如果希望n标记
f
函数的值,只需再次标记它:

n=2
def f(x):
    x+=2
    return x
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)
class Foo:
    def __init__(self, n):
        self.n = n

    def inc(self):
        self.n += 2


f = Foo(2)
f.inc()
print(f.n)