Где работает метод x1
/ x2 ,... come from in the
distance`? кажется, ваш код хочет вызвать их из воздуха ...
Кроме того, метод объявлен как def distance(self)
, поэтому он, очевидно, имеет только один аргумент (ссылка на сам объект), и не допускает передачи ему каких-либо дополнительных аргументов.
То, что вы действительно хотите, - это аргумент метода distance
, в котором вы можете передать свой ссылочный объект для вычисления расстояния от. и вы должны использовать координаты самости объекта опорного объекта, и вычислить расстояние:
def distance(self, other):
d = sqrt( (self.x - other.x)**2 + ...
Этот пример намеренно неполным, но вы должны получить идею. Вы, вероятно, действительно хотите прочитать о том, как выполнять объектно-ориентированное программирование в Python (и, вероятно, как делать объектно-ориентированное программирование в целом)