【发布时间】:2018-08-16 03:23:42
【问题描述】:
假设我们有一个函数classes_init。它接收列表或其他类型的信息,用于初始化不同类型类的许多实例,例如:
["spam", 24]
["eggs", 10]
["bacon", 20]
...
这些列表的索引 0 表示它应该是什么类型的类。我发现初始化特定类实例的最佳方法是通过以下方式:
def classes_init(xlists):
classlist = list()
if xlists[0] == "spam":
classlist.append(Spam(number=xlists[1]))
elif xlists[0] == "eggs":
classlist.append(Eggs(number=xlists[1]))
elif xlists[0] == "bacon":
classlist.append(Bacon(number=xlists[1]))
... and so on ...
有没有更有效的方法来做到这一点?这是很多重复,所以几乎可以肯定,这是一种错误的方法。
【问题讨论】:
标签: python python-3.x class oop initialization