Python类不会添加到obj

2024-04-25 12:17:35 发布

您现在位置:Python中文网/ 问答频道 /正文

由于某种原因,当我试图在一个类中将一个对象添加到一个字典中时,如果字典属于另一个类,并且对象是由类函数添加/删除的,那么添加似乎总是失败的

下面是数据处理程序:

class datastore():
    def __init__(self, dict=None):
        self.objectStore = {}
        self.stringStore = {}
        if dict is not None:
            self.objectStore = dict

    def __addobj__(self,obj,name):
        print("adddedval")
        self.objectStore[name] = obj

    def __getobject__(self,name):
        _data = self.objectStore.get(name)
        return _data

    def __ripobj__(self,name,append):
        if isinstance(append, object):
            self.objectStore[name] = append

    def __returnstore__(self):
        return self.objectStore

    def __lst__(self):
        return self.objectStore.items()

以下是触发代码,请尝试添加项目:

if self.cmd=="addtkinstance-dev":
        print("Adding a tk.Tk() instance to dataStore")
        #$$ below broken $$#
        _get = datastore.__dict__["__returnstore__"](self.dat)
        _get["test-obj"] = tk.Tk()
        datastore.__init__(self.dat, dict=_get)
        #--------------------------------------------#
        tool(tk.Tk(), "test-obj", datastore())

这里还有尝试添加对象的类的init

class cmdproc(tk.Tk, datastore):

    def __init__(self,lst,variable_mem,restable):
        self.pinst = stutils(lst,restable,variable_mem)
        self.vinst = varutils(variable_mem,lst,restable)
        self.tki = tkhandler()
        self.dat = datastore(dict=None)
        datastore.__init__(self, dict=datastore.__returnstore__(self.dat))
        tk.Tk.__init__(self)
        self.lst = lst
        self.vdat = variable_mem
        self.restable = restable

请帮帮我,这让我很困惑

(请注意,tkhandler与任何事情都无关)


Tags: nameselfobjgetinitdefvariabledict