永久更改函数内部的外部变量

时间:2016-08-30 06:10:55

标签: python python-3.x global-variables

我是一个很大的初学者,但我有一个具有值的变量,我想在函数内更改它,以便在函数外部永久更改变量。搜索我发现了一些有关如何访问外部变量的信息(我认为它们称为全局变量),但不会以任何方式永久修改它们。

这里有一些代码表示我试图做的是:

x = 0

def variableChanger():
    global x
    x =+ 1

variableChanger()
print(x)
variableChanger()
print(x)
variableChanger()
print(x)

这个想法是它会有控制台输出......

>>> 1
>>> 2
>>> 3

因为它正在通过向其添加一个来更改全局x变量。但是它正在创建一个名为x的新全局变量,并在每次运行1函数时将其值设置为variableChanger(),而我最终会...

>>> 1
>>> 1
>>> 1

我想要做的是访问代码顶部的变量x并将其递增,以便随时随地访问它时,它具有递增的值。

有办法吗?

2 个答案:

答案 0 :(得分:2)

这是因为你每次都重新分配xx =+ 1 != x += 1x =+ 1x分配给1; x += 1 augmented assignment statement ,将x增加一个:

x = 0

def variableChanger():
    global x
    x += 1

variableChanger()
print(x)
variableChanger()
print(x)
variableChanger()
print(x)

答案 1 :(得分:0)

赋值运算符中的+号是错误的。它应该在左边:

def variableChanger():
    global x
    x += 1

您正在做的只是简单地将x分配给+1的值;它将继续被分配到1。