2013-03-27 49 views
2

我有以下代碼中的值:Python中,對象獲取的新的

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]用於第二時間的第一時間和2打印1。對象v的所有屬性都分配了來自t的屬性值。

如何創建兩個不同的對象? 感謝您的回答

+0

也:http://stackoverflow.com/q/13482727/748858 – mgilson 2013-03-27 17:49:35

+0

也請不要把它叫做'類H:'。那太糟了。 – TyrantWave 2013-03-27 17:50:58

回答

3

請勿在類級別聲明vektor,這使其成爲類變量。只是聲明它裏面__init__

def __init__(self, hodnota, chyba): 
    self.vektor = [hodnota, chyba] 
+0

另請參閱http://docs.python.org/2/tutorial/classes.html#class-objects – 2013-03-27 17:49:39

+0

謝謝,我不得不在構造函數中添加self.vektor = [0,0],但它現在工作正常 – Tom83B 2013-03-27 18:07:14