What does python 2.7 use to sort vanilla class instances? I'm interested in the default sorting behavior.
Suppose I have the class
class S():
pass
Then I can create a couple of instances, and sort them:
a = S(); b = S(); c = S()
l = [(a,'a'), (b,'b') ,(c, 'c')]
sorted(l)
This will print some sorting of the objects. Now I have a two part question:
- Is python using the objects'
__hash__(), and thus theirid()? - Is it possible to override
__hash__()to influence the sorting behavior?