我有这样的代码
variable =0
def functio(var):
var += 2
return boolean
functio(variable)
但是 var 不会改变。我将不同的变量传递给方法,因此全局不起作用
我有这样的代码
variable =0
def functio(var):
var += 2
return boolean
functio(variable)
但是 var 不会改变。我将不同的变量传递给方法,因此全局不起作用
在 Python 中参数总是通过赋值传递,所以如果你给 functio() 一个变量,在 funcio() 里面它只会是这个变量的值。
解决此问题的一种方法是将变量包装在列表中以使用引用,如下所示:
variable = [0]
def functio(var):
var[0] += 2
return boolean
functio(variable)
因为列表包含指向其元素在内存中的地址的指针,所以范围无关紧要。
编辑:更多方法在这里做到这一点