8. 案例:Point 点类

定义一个类描述平面上的点,提供计算到另一个点距离的方法,以及 __str__ 魔法方法用于对象的字符串表示。

python
class Point:
    """平面上的点"""

    def __init__(self, x=0, y=0):
        """初始化方法
        :param x: 横坐标
        :param y: 纵坐标
        """
        self.x, self.y = x, y

    def distance_to(self, other):
        """计算与另一个点的距离
        :param other: 另一个点
        """
        dx = self.x - other.x
        dy = self.y - other.y
        return (dx * dx + dy * dy) ** 0.5

    def __str__(self):
        return f'({self.x}, {self.y})'


p1 = Point(3, 5)
p2 = Point(6, 9)
print(p1)  # 调用对象的__str__魔法方法 → (3, 5)
print(p2)  # (6, 9)
print(p1.distance_to(p2))  # 5.0

▶ 运行结果:

输出
(3, 5)
(6, 9)
5.0