from math import sqrt class PointXY: def __init__(self, x: int, y: int): self.x = x self.y = y def distance_from_zero(self): return sqrt(pow(self.x, 2) + pow(self.y, 2)) # Хотелось бы типизировать входной параметр p классом PointXY # для исключения передачи некорректных данных на вход метода. # Просьба объяснить возможно ли это и, если да, то как. def distance_to(self, p): return sqrt(pow((self.x - p.x), 2) + pow((self.y - p.y), 2)) def main(): p1 = PointXY(4, 3) p2 = PointXY(9, 6) p3 = PointXY(5, 3) print(p1.distance_from_zero()) print(p2.distance_to(p3)) if __name__ == '__main__': main()