你知道如何从同一个class输入对象到python吗?

Do you know how to input the object from the same class in python?

我是python初学者。

我必须定义一个方法 distanceFromOther() ,它将不同的点作为一个因素,returns 自身与另一个点之间的距离。

Class点是将二维平面中的点(x,y)当成对象

这是我编写的代码。

import math

class Point:

        def __init__(self, x=0, y=0):
            self._x= x
            self._y= y


        def dFO(self, a, b):
            self.a = a
            self.b = b
    
            otResult = math.sqrt(math.pow(self._x-self.a,2)+math.pow(self._y-self.b,2))
            return otResult


        def __str__(self):
            return f"({self._x}, {self._y})"

我做了两个对象a和b。

a = Point(1,1)
b = Point(2,3)

我必须使用方法 dFO() 计算出 a 和 b 之间的距离。 我应该输入 'b' 作为因素,但我制作了放置点 x、y 的值的方法。我不知道如何输入我制作的对象 'b' 作为因子。

a.dFO(2,3)


a.dFO(b)

前者是我做的,后者是我想做的

如果你知道怎么做,请帮助我!

您只需要访问 _x_y 属性:

import math

class Point:

        def __init__(self, x=0, y=0):
            self._x= x
            self._y= y

        def distanceFromOther(self, b):
            x = b._x
            y = b._y
    
            otResult = math.sqrt(math.pow(self._x-x,2) + math.pow(self._y-x,2))
            return otResult

        def __str__(self):
            return f"({self._x}, {self._y})"

此外,您不需要将方法的参数转换为该对象的属性。