Tôi đang thực hiện một dự án bằng Python (3.2) mà tôi cần so sánh các đối tượng do người dùng xác định. Tôi đã quen với OOP trong Java, nơi người ta sẽ xác định một phương pháp compareTo()
trong lớp mà xác định thứ tự tự nhiên của lớp đó, như trong ví dụ dưới đây:Tương đương Python của compareTo của Java()
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;
}
}
Tôi khá mới đến các lớp học/đối tượng trong Python, vì vậy tôi muốn biết cách "pythonic" để xác định thứ tự tự nhiên của một lớp là gì?
Bạn có nghĩa là giống như [ '__cmp__'] (http : //docs.python.org/reference/datamodel.html#object.__cmp__)? –