我有一门课:
class MATRIX:
def getDimensions(self,M):
r = len(M)
c = len(M[0])
return r,c
def add(self,M1,M2):
res = []
r1,c1 = self.getDimensions(M1)
r2,c2 = self.getDimensions(M2)
if (r1 != r2) or (c1 != c2):
print("dimensions not the same")
return res
for i in range(len(M1)):
row=[]
for j in range(len(M1[i])):
element=M1[i][j] + M2[i][j]
row.append(element)
res.append(row)
return res
简单的类,不保存状态,只是有一个添加两个矩阵的函数。我是Python中OOP的初学者,所以,除非我错了,否则所有类函数都必须以self参数开头。
该函数的调用方式如下:
Z = MATRIX.add(X,Y)
其中X和Y是矩阵
当我尝试执行此操作时,会出现以下错误:
Traceback (most recent call last):
File "temp.py", line 82, in <module>
Z = MATRIX(X,Y)
TypeError: object() takes no parameters
在这种情况下:
X = [[1,1,1], [2,2,2], [3,3,3]]
Y = [[4,4,4], [5,5,5], [6,6,6]]
为什么会出现此错误?我怎样才能修复它?