我不明白这个TypeError

摇摆的

有人可以看到问题吗?我想我在frompoints函数中传递了三个参数,而不是四个,对吗?

class vector2D:

    def __init__(self, x=0.0, y=0.0):
        self.x = x
        self.y = y

    def __str__(self):
        return "({}, {})".format(self.x, self.y)

    @classmethod
    def frompoints(cls, P1, P2):
        x = P2[0] - P1[0]
        y = P2[1] - P1[1]
        return vector2D(cls, x, y)

P1 = (10.0, 5.0)
P2 = (17.0, 10.0)
v2 = vector2D.frompoints(P1, P2)

错误信息:

Traceback (most recent call last):
File "D:/Pycharm/Testy/test.py", line 22, in <module>
v2 = vector2D.frompoints(P1, P2)
File "D:/Pycharm/Testy/test.py", line 17, in frompoints
return vector2D(cls, x, y)
TypeError: __init__() takes from 1 to 3 positional arguments but 4 were given
琼斯·哈珀

在这种情况下cls,a中参数@classmethod类本身vector2D您不会在其他地方将类作为参数传递(不是vector2D(vector2D, x, y)),那么为什么在这里呢?

可能使您感到困惑的是,您可以在类上调用实例方法,并显式传递实例作为第一个参数:

vector2D.__init__(instance, x, y)

然而,frompoints是一个类的方法,所以你还不具备的情况下通过。您应该这样做:

return cls(x, y)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我不明白这个Python TypeError

来自分类Dev

不明白这个 TypeError: an integer is required

来自分类Dev

我不明白这个结果

来自分类Dev

我不明白这个无限循环

来自分类Dev

我不明白这个表达树

来自分类Dev

Python:我不明白这个语法

来自分类Dev

我不明白这个Javascript?

来自分类Dev

不明白这个 TypeError: 'NoneType' object is not subscriptable error

来自分类Dev

我不明白这个Python句子'if tail else head'

来自分类Dev

我不明白为什么这个循环死机了

来自分类Dev

我不明白这个(功能?)如何工作

来自分类Dev

这个Xaml无效...我不明白为什么

来自分类Dev

我不明白为什么会给出这个输出?

来自分类Dev

我不明白这个char方法是如何工作的

来自分类Dev

我不明白这个C ++数组声明

来自分类Dev

我不明白的这个C程序的输出

来自分类Dev

我不明白这个JSON有什么问题

来自分类Dev

我不明白这个常见的java原理

来自分类Dev

我不明白这个代码数组和指针

来自分类Dev

我不明白 len() 在这个练习中的用处

来自分类Dev

我不明白这个练习的解决方案

来自分类Dev

TypeError: 'int' object is not subscriptable - 我已经研究了几个小时了,我不明白为什么它会吐出这个错误

来自分类Dev

我不明白useCallback

来自分类Dev

我不明白比较

来自分类Dev

我不明白的错误

来自分类Dev

我不明白 if{} 语句

来自分类Dev

我不明白为了

来自分类Dev

递归:不明白这个结果

来自分类Dev

为什么我的代码连续打印两次?我不明白这个问题