【问题标题】:Change variable outside the method在方法外更改变量
【发布时间】:2021-10-09 14:21:47
【问题描述】:

我有这样的代码

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

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

【问题讨论】:

    标签: python-3.x variables


    【解决方案1】:

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

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

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

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

    编辑:更多方法来做到这一点here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多