It may be a perfectly reasonable shortcut to check for identity first, and in equality methods good shortcuts (for both equality and non equality) are what you should be looking for so that you can return as soon as possible.
But, on the other hand, it could also be a completely superfluous check if your test for equality is otherwise cheap and you are unlikely in practice to be comparing an object with itself.
For example, if equality between objects can be gauged by comparing one or two integers then this should be quicker than the identity test, so in less than the time it would take to compare id
s you've got the whole answer. And remember that if you check the identities and the objects don't have the same id
(which is likely in most scenarios) then you've not gained anything as you've still got to do the full check.
So if full equality checking is not cheap and it's possible that an object could be compared against itself, then checking identity first can be a good idea.
Note that another reason the check isn't done by default is that it is quite reasonable (though rare) for objects with equal identities to compare as non equal, for example:
>>> s = float('nan')
>>> s == s
False