When simulating card games, it's often essential to be able to sort the Card
objects into a defined order. When cards form a sequence, sometimes called a straight, this can be an important way to score the hand. This is part of games such as Poker, Cribbage, and even Pinochle.
Most of our class definitions have not included the features necessary for sorting objects into order. Many of the recipes have kept objects in mappings or sets based on the internal hash value computed by __hash__()
.
In order to keep items in a sorted collection, we'll need the comparison methods that implement <
, >
, <=
, >=
, ==
, and !=
. These comparisons are based on the attribute values of each object.
How do we create comparable objects?