Python equivalent of Java's compareTo()

Posted by astay13 on Stack Overflow See other posts from Stack Overflow or by astay13
Published on 2012-06-26T21:00:59Z Indexed on 2012/06/26 21:15 UTC
Read the original article Hit count: 370

Filed under:
|
|
|

I'm doing a project in Python (3.2) for which I need to compare user defined objects. I'm used to OOP in Java, where one would define a compareTo() method in the class that specifies the natural ordering of that class, as in the example below:

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;
    }
}

I'm fairly new to classes/objects in Python, so I'd like to know what is the "pythonic" way to define the natural ordering of a class?

© Stack Overflow or respective owner

Related posts about python

Related posts about oop