gpt4 book ai didi

python - 定义 Python 类

转载 作者:行者123 更新时间:2023-11-30 23:36:01 25 4
gpt4 key购买 nike

正如我在之前的问题中可能已经说过的那样,我是 Python 的初学者,并且我遇到的一些主题没有给出我理解 Material 所需的深入解释,所以我有一个问题。提出的问题是“将方法 distance() 添加到类 Point 中。它接受另一个 Point 对象作为输入,并返回到该点的距离(从调用该方法的点开始)。

当所有这些都输入到模块中时,它正在寻找的是以下结果

>>> c = Point()
>>> c.setx(0)
>>> c.sety(1)
>>> d = Point()
>>> d.setx(1)
>>> d.sety(0)
>>> c.distance(d)
1.4142135623730951

这是我所拥有的:

class Point:
def setx(self, xcoord):
self.x = xcoord
def sety(self, ycoord):
self.y = ycoord
def get(self):
return(self.x, self.y)
def move(self, dx, dy):
self.x += dx
self.y += dy

然后我不确定是否需要以什么方式定义距离。谢谢。

我有一个清晰的基线,我非常确定我会如何开始这个,但是当谈到定义距离时,我非常困难。

最佳答案

你需要这样的方法

def distance(self, other):
dist = math.hypot(self.x - other.x, self.y - other.y)
return dist

您还需要在程序开始时导入数学

旁白:拥有 setxsety 方法根本不是 Pythonic。您应该直接分配给属性。例如c.x = 0

Help on built-in function hypot in module math:hypot(...)    hypot(x, y)    Return the Euclidean distance, sqrt(x*x + y*y).

关于python - 定义 Python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16804742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com