0

我有这样的代码

variable =0
def functio(var):
    var += 2
    return boolean
functio(variable)

但是 var 不会改变。我将不同的变量传递给方法,因此全局不起作用

4

1 回答 1

0

在 Python 中参数总是通过赋值传递,所以如果你给 functio() 一个变量,在 funcio() 里面它只会是这个变量的值。

解决此问题的一种方法是将变量包装在列表中以使用引用,如下所示:

variable = [0]
def functio(var):
    var[0] += 2
    return boolean
functio(variable)

因为列表包含指向其元素在内存中的地址的指针,所以范围无关紧要。

编辑:更多方法在这里做到这一点

于 2021-08-04T13:27:16.977 回答