Python - 从函数中将变量传递给类以更改函数中的所述变量

时间:2018-04-25 22:21:42

标签: python variables global-variables

我有一些像这样结构化的代码。

def function():
    test = myClass()
    var = 1
    running = True

    while running:
        if var == 1:
            print(1)
            test.update(var)
        if var == 2:
            print(2)

class myClass:
    def update(self, var):
        var = 2

基本上,代码应该只打印一次'1',然后在更新方法中打印无限数量的'2',因为var的值从'1'变为'2'。但是,它只打印'1'的负载。

如何通过在该函数中使用类的方法来更改函数中找到的变量的值?

我也尝试使用全局变量而且它不起作用(我听说通常不赞成)。

1 个答案:

答案 0 :(得分:0)

在update方法中返回新值,并在对变量的调用中指定它。

...
while running:
  if var == 1:
    print(var)
    var = test.update(var)
...

class myClass:
  def update(self, _var): # _var is removable unless you will use it
    return 2