Wykonuję projekt w Pythonie (3.2), dla którego muszę porównać obiekty zdefiniowane przez użytkownika. Przywykłem do OOP w Java, gdzie można by zdefiniować compareTo()
metody w klasie, która określa naturalne uporządkowanie tej klasy, jak w poniższym przykładzie:Python odpowiednik Java to 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;
}
}
Jestem całkiem nowy na lekcji/przedmiotów w Pythonie, więc chciałbym wiedzieć, jaki jest "pytonowy" sposób definiowania naturalnego porządku klasy?
Masz na myśli [ '__cmp__'] (http : //docs.python.org/reference/datamodel.html#object.__cmp__)? –