Python设计一个二维坐标轴中的位置点类Point,并实现对该类对象之间的加法、减法以及该对象与一个整数的乘法和除法运算。
时间: 2024-02-15 10:04:54 浏览: 24
好的,以下是实现代码:
```python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Point(self.x + other.x, self.y + other.y)
def __sub__(self, other):
return Point(self.x - other.x, self.y - other.y)
def __mul__(self, num):
return Point(self.x * num, self.y * num)
def __truediv__(self, num):
return Point(self.x / num, self.y / num)
def __str__(self):
return "({}, {})".format(self.x, self.y)
```
在这个类中,我们定义了四个运算符重载方法来实现加法、减法、乘法和除法运算。我们还添加了一个 `__str__` 方法,以便打印出点的坐标。
现在我们可以创建两个点,并进行一些运算:
```python
a = Point(1, 2)
b = Point(3, 4)
c = a + b
print(c) # (4, 6)
d = b - a
print(d) # (2, 2)
e = a * 2
print(e) # (2, 4)
f = b / 2
print(f) # (1.5, 2.0)
```
这里我们创建了两个点 `a` 和 `b`,然后对它们进行了加法、减法、乘法和除法运算,并将结果存储在 `c`、`d`、`e` 和 `f` 中。最后我们打印出了每个点的坐标。