【发布时间】:2010-10-01 05:44:15
【问题描述】:
我有一段代码,其中包含一个用于从 XML 文件中绘制内容的 for 循环;
for evoNode in node.getElementsByTagName('evolution'):
evoName = getText(evoNode.getElementsByTagName( "type")[0].childNodes)
evoId = getText(evoNode.getElementsByTagName( "typeid")[0].childNodes)
evoLevel = getText(evoNode.getElementsByTagName( "level")[0].childNodes)
evoCost = getText(evoNode.getElementsByTagName("costperlevel")[0].childNodes)
evolutions.append("%s x %s" % (evoLevel, evoName))
目前它输出到一个名为 evolutions 的列表中,正如它在该代码的最后一行中所说的那样,对于这个和其他几个功能非常相似的函数,我需要将它输出到一个类中。
class evolutions:
def __init__(self, evoName, evoId, evoLevel, evoCost)
self.evoName = evoName
self.evoId = evoId
self.evoLevel = evoLevel
self.evoCost = evoCost
如何创建这个类的一系列实例,每个实例都是来自那个for函数的响应?或者什么是核心实用解决方案?这个真的不需要这个类,但其他一个确实需要。
【问题讨论】:
-
关于风格的说明,你应该总是用大写字母开头的驼峰式命名类,它们不应该是复数。应该是:进化类
-
您还可以从类字段中删除“evo”前缀,它们可以从类的上下文中推断出来。节省打字。 :)
-
不要重复自己(DRY):
get = lambda name: getText(evoNode.getElementsByTagName(name)[0].childNodes)