[英]Python class returning multiple instances
我在想一堂課的設計。 當前,我對數據列表有一個列表理解,該數據實例化了列表的每個成員上的類的實例,因此返回了我的類的實例的列表。
改而采用一個接受列表並返回實例列表的類方法,會更好或更切實可行嗎?
我想知道的是,本質上:
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? 如果很重要,在我打算的用法中,我將始終從數據列表中實例化該類。
就目前而言,它們之間沒有太多選擇。 但是, @classmethod
有一個主要的加分點; 它可用於MyClass
子類。 與為您可能在列表中實例化的每種類型的對象具有單獨的功能相比,這具有更多的Python風格。
我認為第一種方法會更好(列表理解),因為您將始終從列表中初始化數據。 這使事情變得明確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.