到目前为止,我只用C语言完成了过程编程,所以我对OOP和Python都不太清楚。python中对象的持久性
我有一个大项目,其中包含一些python文件。 文件a.py定义名为fobject 我使用蟒2.5
文件b.py类和c.py具有类称为BProject和的CProject具有fobject作为参数的对象。 我已经包含在b.py中使用导入CProject(在c.py中定义)。 我在CProject中使用wx python GUI填充了一个列表。 接下来我调用一个在BProject中定义的函数BRun,它在内部调用CProject中的CRun函数即。在c.py中。
在这个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()
你能发表相关的代码吗? – user122211
这个问题很混乱,目前基本上不可能回答。显示代码将有所帮助。 – Omnifarious
请好好发布相关代码以了解问题。 – sam