我有以下代码:
import math
class h:
vektor = [0,0]
rel_chyba = 0
def __init__(self, hodnota, chyba):
self.vektor[0] = hodnota
self.vektor[1] = chyba
self.rel_chyba = chyba*1.0/hodnota
def __rmul__(self, hod2):
return h(hod2.vektor[0]*self.vektor[0], math.sqrt(self.rel_chyba*self.rel_chyba+hod2.rel_chyba*hod2.rel_chyba))
v = h(12,1)
print v.vektor[1]
t = h(25,2)
print v.vektor[1]
我的问题是,v.vektor [1]第一次打印1,第二次打印2。对象v的所有属性都分配了来自t的属性值。
如何创建两个不同的对象? 谢谢你的回答
答案 0 :(得分:3)
不要在类级别声明vektor
,这使它成为类变量。只需在__init__
内声明:
def __init__(self, hodnota, chyba):
self.vektor = [hodnota, chyba]