My notes when reading Luciano Ramalho's Fluent Python.
By implementing special methods (A.K.A. magic methods, like
__repr__ etc.. Often pronounced dunder xx), your objects can utilize built-in functions and syntax like
for ... in ... and thus be considered Pythonic.
Understanding the Pythonic
xx.len(): Think of these functions as unary operators.