# 定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法。
# 开平方
from math import sqrt
class Point(object):
def __init__(self, x=0, y=0):
"""
构造器
:param x:横坐标
:param y:纵坐标
"""
self.x = x
self.y = y
def move_to(self, x, y):
"""
移动到指定的位置
:param x:
:param y:
:return:
"""
self.x = x
self.y = y
def move_by(self, dx, dy):
"""
移动指定的增量
:param dx:横坐标的增量
:param dy:纵坐标的增量
:return:
"""
self.x += dx
self.y += dy
def distance_to(self, other):
"""
计算与另外一个点的距离
:param other:另外一个点
:return:
"""
dx = self.x - other.x
dy = self.y - other.y
return sqrt(dx ** 2 + dy ** 2)
# 对这个对象的描写
def __str__(self):
return '(%s,%s)' % (str(self.x), str(self.y))
def main():
p1 = Point(3, 5)
p2 = Point()
print(p1)
print(p2)
print(p1.distance_to(p2))
p1.move_to(1,2)
print(p1)
p2.move_by(-1, -2)
print(p2)
if __name__ == '__main__':
main()