Как изменить значение переменной из другого файла Python, на который ссылается другой класс? - PullRequest
0 голосов
/ 09 октября 2019

У меня есть основной файл Python и класс в другом файле Python. Я попытался изменить переменную в файле Python из класса. Однако я не знаю, как это сделать вне функции __init__.

Класс:

class Matrices:
    currentMenuItem = 0
    dataForMatrix = {}

    def __init__(self, memory, matricesFrame, tempBoolsControl, otherControls):
        self.memory = memory
        self.matricesFrame = matricesFrame
        self.tempBoolsControl = tempBoolsControl
        self.otherControls = otherControls

    def createNewMatrix(self):
        self.otherControls["right"] = False

Основной файл:

from Matrices import Matrices

otherControls = {"right": True, "left": True}

Matrices(memory, matricesFrame, tempBoolsControl, otherControls).createNewMatrix()

Это предназначено для изменения переменной otherControls в основном файле, но это только локально. Я не могу получить доступ к исходной переменной otherControls вне функции __init__. Кто-нибудь может помочь?

1 Ответ

1 голос
/ 09 октября 2019

Если вы сохраняете объект Matrices в переменную, например,

mat = Matrices(memory, matricesFrame, tempBoolsControl, otherControls).createNewMatrix()

, вы можете получить доступ к атрибуту otherControls следующим образом:

mat.otherControls = {'right':True, 'left':False}
# or if you want only one of the keys
mat.otherControls['right'] = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...