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