Я задавал этот вопрос, но он был не очень хорошо сформулирован.
постоянство объектов в питоне
Как новичок в программировании на Python и GUI
У меня большой проект, который содержит несколько файлов Python. Файл a.py определяет класс с именем fobject. Я использую python 2.5
.
В файлах b.py и c.py есть классы с именами BProject и CProject, которые имеют объект fobject в качестве параметра. Это страницы в программе на основе Python wx.
Я включил использование импорта CProject (определено в c.py) в b.py. У меня есть список в CProject, который я заполняю, используя графический интерфейс wx python. Затем я вызываю функцию BRun, определенную в BProject, которая внутренне вызывает функцию CRun в CProject, т.е. в год
В этом CRun я хочу манипулировать списком, но в данный момент список всегда пуст. Почему это так?
Что я должен сделать, учитывая ограничение: я не могу ничего изменить a.py, в котором определен fobject?
файл: c.py
def Instance(fObject):
return test_page_CProject(fObject)
class CProject(object):
def __init__(self, fObject):
self.fObj = fObject
self.IntList = []
##snip
def OnIntSelectBtnPress(self,parent):
print ":self.IntList"
print self.IntList
self.listBoxIntSelect.InsertItems(self.IntList,0)
print self.IntList
def OnIntRun(self):
IntLModeList = self.IntListIntMode
#snip
файл b.py
def Instance(fObject):
return BProject(fObject)
class BProject(object):
def __init__(self, fObject):
self.FObj = fObject
#snip
Object = __import__('CProject')
#snip
self.intObject = Object.Instance(self.FObj)
self.intObject.OnIntRun()
Когда вызывается CPython.OnIntRun, self.IntList пуст, когда он не должен быть