我正在思考课程的设计。目前,我对列表中每个成员实例化类的实例的数据列表有一个列表理解,从而返回我的类实例列表。
使用列表并返回实例列表的类方法会更好,或者确实可能吗?
基本上,我想知道,会:
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?如果重要的是,在我打算使用的用法中,我将始终从数据列表中实例化该类。
答案 0 :(得分:0)
目前看来,他们之间没有多少选择。但是,@classmethod
有一个主要的优点;它可用于MyClass
的子类。对于您可能在列表中实例化的每种类型的对象具有单独的函数,这更具Pythonic。
答案 1 :(得分:0)
我认为第一种方法会更好(列表理解)因为你总是从列表中初始化数据。这使事情变得明确。