你知道如何在python中输入来自同一类的对象吗



我是python初学者。

我必须定义一个方法distanceFromOther((,它将不同的点作为一个因子,并返回它自己和另一个点之间的距离。

Class Point用于将二维平面中的点(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})"

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

最新更新