-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Functional Python Programming - Second Edition
By :
The total_ordering decorator is helpful for creating new class definitions that implement a rich set of comparison operators. This might apply to numeric classes that subclass numbers.Number. It may also apply to semi-numeric classes.
As an example of a semi-numeric class, consider a playing card. It has a numeric rank and a symbolic suit. The rank matters only when doing simulations of some games. This is particularly important when simulating casino blackjack. Like numbers, cards have an ordering. We often sum the point values of each card, making them number-like. However, multiplication of card × card doesn't really make any sense; a card isn't quite like a number.
We can almost emulate a playing card with a NamedTuple base class as follows:
from typing import NamedTuple
class Card1(NamedTuple):
rank: int
suit: strThis is almost a good emulation. It suffers from a profound limitation: all comparisons include both the rank and the suit by default...
Change the font size
Change margin width
Change background colour