你知道如何在Python中输入同一类的对象吗?

发布于 2025-01-20 06:45:13 字数 796 浏览 1 评论 0原文

我是Python初学者。

我必须定义一个将不同的点作为因子并返回自身与另一个点之间的距离的方法devantfromother()。

班级点用于将点(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)

前者是我制作的,而后者是我想要做的。

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

I am python beginner.

I have to define a method distanceFromOther() that takes the different dot as a factor and returns the distance between itself and the other point.

Class Point is for treating points (x,y) in a two-dimensional plane as objects.

This is the code that I made.

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})"

I made two objects a and b.

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

I have to figure out the distance between a and b using method dFO().
I should input 'b' as factor, but I made the method to put the values of points x,y. I don't know how to input object 'b' that I made as the factor.

a.dFO(2,3)


a.dFO(b)

The former is what I made, and the latter is what I want to make.

If you know how to do it, please help me!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉宸 2025-01-27 06:45:13

您只需要访问_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})"

另外,您无需将方法的参数转换为该对象的属性即可。

You just need to access the _x and _y attributes:

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})"

Also, you don't need to convert parameters of a method into attributes of that object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文