2

我有以下代码:

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 的属性值。

如何创建两个不同的对象?感谢您的回答

4

1 回答 1

3

不要vektor在类级别声明,这使其成为类变量。只需在里面声明它__init__

def __init__(self, hodnota, chyba):
    self.vektor = [hodnota, chyba]
于 2013-03-27T17:48:05.213 回答