【发布时间】:2014-01-12 18:48:53
【问题描述】:
我有一个 AI 例程,可以将各种数据存储为 Memory 对象。 Memory 对象根据传递给构造函数的“内存类型”具有不同的参数(回想起来,每种类型的内存确实应该是 Memory 的子类,但目前这并不重要)。
我需要为Memory-s 设置一个__str__() 方法。在另一种语言中,我可能会这样做:
if self.memtype == "Price":
return self.good+" is worth "+self.price+" at "+self.location
elif self.memtype == "Wormhole":
return self.fromsys+" has a wormhole to "+self.tosys
...
但是做这种事情的 Pythonic(和快速)方法是使用 dicts。但问题是,这些字符串需要在返回之前插入值。我想这可以用 lambdas 来完成,但这让我觉得有点不优雅和过于复杂。有没有更好的方法(str.format() 突然想到...)?
【问题讨论】:
标签: python python-3.x dictionary