2014-12-11 2 views
-3

Я пытаюсь изменить программу, но сначала мне нужно полностью понять код.Что происходит в этом классе?

class Coordinate: 
    def __init__(self,x,y): 
     self.x = x 
     self.y = y 

    def equal_to(self,coordinate): 
     return coordinate.x == self.x and coordinate.y == self.y 

    def merge_together(self,coordinate_together): 
     return Coordinate(self.x+coordinate_together.x,self.y+coordinate_together.y) 

Что такое функциональность этого класса?

Не могу понять - особенно return coordinate.x и coordinate.y детали.

+2

Мне кажется «equal_to» говорит все это. Он проверяет, равны ли один экземпляр координат и другой. – mdurant

+0

Не могли бы вы уточнить, что именно вы делаете и не понимаете? Я ожидал бы увидеть '__eq__', а не' equal_to' (и, возможно, '__add__', а не' merge_together') - откуда появился этот код? – jonrsharpe

ответ

3

::merge_together суммы (евклидова перевод) ординаты, возвращая новый экземпляр Coordinate.

::equal_to сравнивает два объекта Coordinate (но, возможно, следует использовать идиому __eq__ - наряду со связанными методами).

+0

Что возвращает функция equal_to? – Pieter

+0

@ Питер, вы считали, что пытаетесь это увидеть? – jonrsharpe

+0

«bool», состоящий из логического равенства «Координаты» (этот - «сам» и «координата», переданный в). «Правда», если они одинаковы. –

0

возвращение True если coordinate.x == self.x И coordinate.y == self.y. (выглядит как же положение)

метод ожидает и экземпляр Coordinate вероятно (см ниже того же объекта)

Смежные вопросы