如何实例化变量?

我有以下几点:

  • 对象

    • __init__.py

    • define.py

define.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创建实例。


繁星点点滴滴
浏览 211回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python