Learn Python’s datamodel with operator overloading and emulate built-in types by implementing magic (dunder) methods