【发布时间】:2012-09-22 08:23:36
【问题描述】:
我不知道一开始我会有多少类实例,所以我需要动态创建它们,但我也想保持代码的整洁和可读性。
我正在考虑做这样的事情:
names = ['Jon','Bob','Mary']
class Person():
def __init__(self, name):
self.name = name
people = {}
for name in names:
people[name] = Person(name)
它有效,但我似乎无法在网上找到任何人这样做的例子(尽管我看起来并不多)。有什么理由我应该避免这样做吗?如果是这样,为什么以及什么是更好的选择?
【问题讨论】:
-
就我所见,您说的是动态创建对象,而不是类,对吗?
-
你的意思是动态创建类实例??
-
在上面的代码中,您没有动态创建任何类,只定义了一个类
Person,然后创建了它的三个实例。这是一种完全合法的做法,看不到任何问题。 -
是的,你是对的。对不起,我混淆了我的术语。
标签: python class dynamic performance