2013-03-27 4 views
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] 두 번째로 처음으로 2 1을 인쇄합니다. 객체 v의 모든 속성에는 t의 속성 값이 할당됩니다.

어떻게 두 개의 서로 다른 개체를 만들 수 있습니까? 답해 주셔서 감사합니다

+0

과': http://stackoverflow.com/q/13482727/748858 – mgilson

+0

또한'수업 시간을 호출하지 마십시오. 그건 정말 나쁘다. – TyrantWave

답변

3

vektor을 클래스 수준으로 선언하면 클래스 변수가되지 않습니다. 그냥 __init__ 내부에 선언 : 또한

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

http://docs.python.org/2/tutorial/classes.html#class-objects –

+0

감사합니다. self.vektor = [0,0]을 생성자에 추가해야했지만 지금은 정상적으로 작동합니다. – Tom83B

관련 문제