Python类返回多个实例

时间:2014-01-18 11:34:16

标签: python oop

我正在思考课程的设计。目前,我对列表中每个成员实例化类的实例的数据列表有一个列表理解,从而返回我的类实例列表。

使用列表并返回实例列表的类方法会更好,或者确实可能吗?

基本上,我想知道,会:

data = [lots of data]
[MyClass(point) for point in data]

@classmethod
def from_list(cls, data_list):
    return [cls(point) for point in data_list]

更好/更pythonic?如果重要的是,在我打算使用的用法中,我将始终从数据列表中实例化该类。

2 个答案:

答案 0 :(得分:0)

目前看来,他们之间没有多少选择。但是,@classmethod有一个主要的优点;它可用于MyClass的子类。对于您可能在列表中实例化的每种类型的对象具有单独的函数,这更具Pythonic。

答案 1 :(得分:0)

我认为第一种方法会更好(列表理解)因为你总是从列表中初始化数据。这使事情变得明确。