更新变量

问题描述 投票:0回答:1
def fun(x):
    x += 1
    return x

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

在函数之外声明的变量,在函数中不能被写入,只能被读取,除非该变量被声明为 全球性 那么这里如何更新x的值呢?

python python-3.x function variables arithmetic-expressions
1个回答
0
投票
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的值被更新只是因为函数返回了x的更新值,然后将其赋值给x,如x = func(x),这与变量名无关。

© www.soinside.com 2019 - 2024. All rights reserved.