我有以下幾點:對象__init__.pydefine.pydefine.py: class Place: def __init__(self,name,inhabitants): self.name=name self.inhabitants=inhabitants myFunction.toStoreThings.on.db(name,inhabitants,'places') def someUsefulFunction(self): pass如果運行import objects,請moon=objects.Place('Moon',[])關閉解釋器,然后再次將其打開。我顯然丟失了moon實例,但是我已經(u'Moon',u'[]')將其存儲在數據庫中。我已經__init__.py從數據庫及其中檢索了該信息unstring,但是我也希望將其實例化'Moon',Moon=Place('Moon',[]) 以便可以使用Moon.someUsefulFunction(),objects.Moon.someUsefulFunction()甚至在關閉解釋器之后也可以使用。我怎樣才能做到這一點?我能夠做到這一點:__init__.py:# myFunction() creates a dictionary `objdic` of the stuff in the database# >>>objects.objdic# {'places' : [['Moon',[]]]}instancesdic={}instancesdic['places']={}instancesdic['places'][objdic['places'][0][0]]=Place(*objdic['places'][0])這使>>> objects.instancesdic{'places': {'Moon': <objects.Place instance at 0x1b29248>}}這樣我可以用objects.instancesdic['places']['Moon'].someUsefulFunction()沒關系,但我真的很想要objects.Moon.someUsefulFunction()。任何試圖稱呼整個事情的嘗試Moon都會導致:TypeError: 'str' object does not support item assignment或者只是將字典中的鍵更改為實例,而不是Moon創(chuàng)建實例。
添加回答
舉報
0/150
提交
取消