如何使MultipleDispatch接受相同类的对象Python

问题描述

我正在使用Multipledispatch来创建Point类,该类具有三个构造函数:一个构造函数使用一个整数,一个构造函数使用两个整数,而另一个构造函数则使用Point类型的对象。但是我无法实现第三个构造函数,因为我不知道给@dispatch装饰器提供什么参数,因为尚未定义类Point。我目前已经使用object,但是我可以使用Point本身吗?

这是我的代码的一部分:

from multipledispatch import dispatch

class Point:
    @dispatch(int,int)
    def __init__(self,y = None,x = None):
        self.y = y
        self.x = x

    @dispatch(int)
    def __init__(self,yx = None):
        self.__init__(yx,yx)

    @dispatch(object)    # is there any way I can use @dispatch(Point)?
    def __init__(self,p: "Point") -> "Point":    # using forward reference
        self = p.copy()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)