Я делаю проект в Python (3.2), для которого мне нужно сравнивать объекты, определенные пользователем. Я привык к ООП в Java, где можно было бы определить метод compareTo()
в классе, который определяет естественный порядок этого класса, как показано в следующем примере:Python эквивалент Java compareTo()
public class Foo {
int a, b;
public Foo(int aa, int bb) {
a = aa;
b = bb;
}
public int compareTo(Foo that) {
// return a negative number if this < that
// return 0 if this == that
// return a positive number if this > that
if (this.a == that.a) return this.b - that.b;
else return this.a - that.a;
}
}
Я довольно новыми для классов/объектов в Python, поэтому я хотел бы знать, что такое «питонический» способ определения естественного упорядочения класса?
Вы имеете в виду, как [ '__cmp__'] (HTTP : //docs.python.org/reference/datamodel.html#object.__cmp__)? –