社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

kang • 3 年前 • 1231 次点击  

我是python初学者。

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

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

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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131393
 
1231 次点击  
文章 [ 1 ]  |  最新文章 3 年前
quamrana
Reply   •   1 楼
quamrana    3 年前

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

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