我想創建一個方法(總和),需要可變數量的向量,並將它們添加進來。爲了教育目的,我寫了我自己的Vector
類,並且底層數據是存儲在名爲data的實例變量中。Pythonic的方式添加一個列表
我的代碼爲@classmethod
總和工作(對於每個傳入的向量,遍歷數據變量中的每個元素並將其添加到結果列表中),但它似乎是非Pythonic,並且想知道是否存在更好的方法?
class Vector(object):
def __init__(self, data):
self.data = data
@classmethod
def sum(cls, *args):
result = [0 for _ in range(len(args[0].data))]
for v in args:
if len(v.data) != len(result): raise
for i, element in enumerate(v.data):
result[i] += element
return cls(result)
http://codereview.stackexchange.com –
爲什麼一個類的方法? – msw
我在想,總和應該返回一個新的向量,因此使用了一個類的方法。 –