Python - передать переменную в класс из функции, чтобы изменить указанную переменную в функции - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть некоторый код, который структурирован следующим образом.

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 голосов
/ 26 апреля 2018

Возвращает новое значение в методе обновления и присваивает его при вызове переменной.

...
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...