Python中关于缺少属性的错误(格式正确)

2024-09-28 21:51:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着在我的对象上定义一个名为getX的方法,因为它是一个问题的三个部分中的第二个(这是一个较长问题的一部分,因为我在做一个独立的在线课程,所以没有帮助)

我的课是这样的

class V2:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def __str__(self):
        return 'V2[%s,%s]' % (self.a, self.b)

    def FindThis(self, a, b):
        self.getX = self.a
        self.getY = self.b

然后我打字

v = V2(1,2)
v.getX()

当我创建这个类的一个实例并调用.getX()时,我得到以下错误

Traceback (most recent call last): File "<pyshell#2>", line 1, in <module>
v.getX() AttributeError: V2 instance has no attribute 'getX'

注意:这个程序的目标是用init和str方法定义类的基本部分,以便

print V2(1.1,2.2)

它打印出来了

V2[1.1,2.2]

然后编写两个访问器方法(getXgetY),返回向量的x和y分量

我的斗争点是不知道如何使用/在哪里把getX和getY放在我的程序中,以实现问题要求我做的事情

注意:我以前发布过这个问题,但格式很糟糕,没有说明我需要什么帮助。希望这更清楚


Tags: 对象方法self程序return定义initdef
1条回答
网友
1楼 · 发布于 2024-09-28 21:51:45

您需要对代码进行一些调整:

class V2:
    def __init__(self, a, b):
        self.x = a
        self.y = b

    def __str__(self):
        return 'V2[%s,%s]' % (self.x, self.y)

    def getX(self):
        return self.x

    def getY(self):
        return self.y

v = V2(1,2)
>>> print v.getX()
1

>>> print v
V2[1,2]

相关问题 更多 >