|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class Juzhenchengfa(object):
p_list = []
def __init__(self):
pass
def juzhenchengfa(self, a1, b):
self.a1 = a1
self.b = b
def shuzishuru(self,c,d,e):
self.i = c
self.j = d
self.k = e
for i in range(self.i):
linshi = []
for j in range(self.j):
aa = 0
for k in range(self.k):
aa =aa + float(self.a1[i][k])*self.b[k][j]
linshi.append(aa)
Juzhenchengfa.p_list.append(linshi)
我写了一个矩阵乘法的类,想的是将它多次调用,只需要将类的属性赋给主函数中的新的变量就好,但是我发现后面再次调用这个类的时候,前面已经使用过产生的结果也会在下一次调用的时候出现,于是我又在它的后面加上了一句Juzhenchengfa.p_list=[],然后所有的调用的矩阵都变成了空矩阵,这就让我很困惑,我如何才能既让它在调用过后不初始化,影响后面的,又不让它改变影响前面的?
直接写个临时变量 p_list 不好吗?
- class Juzhenchengfa(object):
- def __init__(self):
- pass
- def juzhenchengfa(self, a1, b):
- self.a1 = a1
- self.b = b
- def shuzishuru(self, c, d, e):
- self.i = c
- self.j = d
- self.k = e
- p_list = []
- for i in range(self.i):
- linshi = []
- for j in range(self.j):
- aa = 0
- for k in range(self.k):
- aa = aa + float(self.a1[i][k]) * self.b[k][j]
- linshi.append(aa)
- p_list.append(linshi)
- return p_list
- ju = Juzhenchengfa()
- ju.juzhenchengfa([[1, 2], [3, 4]], [[5, 6], [7, 8]])
- print(ju.shuzishuru(2, 2, 2))
复制代码
|
|