我有一些像这样结构化的代码。
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'的负载。
如何通过在该函数中使用类的方法来更改函数中找到的变量的值?
我也尝试使用全局变量而且它不起作用(我听说通常不赞成)。
答案 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