【问题标题】:Python, object gets the values of the new one [duplicate]Python,对象获取新的值[重复]
【发布时间】:2013-03-27 17:45:53
【问题描述】:

我有以下代码:

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

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

【问题讨论】:

标签: python oop


【解决方案1】:

不要在类级别声明vektor,这会使它成为类变量。只需在__init__ 内声明即可:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
  • 2019-05-27
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多