变量的更新

Updation of the variable

def fun(x):
    x += 1
    return x

x = 2
x = fun(x + 1)
print(x)

据说声明在函数外的变量,在函数里不能写只能读,除非声明了变量global ,那么这里如何更新 x 的值?

def fun(x):
    x += 1                  => Adds 1 to the x from the method argument
    return x                => Returns the new value of x

x = 2                      
x = fun(x + 1)              => Call the function as fun(2 +1) which returns 3 + 1 and assigns to the variable x
print(x)                    => Prints the latest x value which is 4.

为了进一步说明,在不影响程序结果的情况下稍微更改程序:

def fun(y):
    y += 1
    return y

x = 2
x = fun(x + 1)
print(x)

在这里,函数内部使用的变量与调用函数的变量完全不同。

所以,x的值被更新只是因为函数returnsx的更新值,然后赋给x作为x = func(x),它与变量无关名字。