The comparison operator methods
Python has six comparison operators. These operators have special method implementations. According to the documentation, the mapping works as follows:
x<y
callsx.__lt__(y)
x<=y
callsx.__le__(y)
x==y
callsx.__eq__(y)
x!=y
callsx.__ne__(y)
x>y
callsx.__gt__(y)
x>=y
callsx.__ge__(y)
We'll return to comparison operators again when looking at numbers in Chapter 7, Creating Numbers.
There's an additional rule regarding what operators are actually implemented that's relevant here. These rules are based on the idea that the object's class on the left defines the required special method. If it doesn't, Python can try an alternative operation by changing the order.
Tip
Here are the two basic rules
First, the operand on the ...
Get Mastering Object-oriented Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.