We can summarize the concepts we described in the previous sections in the form of a cheat sheet like the one presented as follows. For each action in Python, the magic method involved is presented, along with the concept that it represents:
Statement
|
Magic method
|
Python concept
|
obj[key] obj[i:j] obj[i:j:k] |
__getitem__(key) |
Subscriptable object |
with obj: ... | __enter__ / __exit__ |
Context manager |
for i in obj: ... |
__iter__ / __next__ __len__ / __getitem__ |
Iterable object Sequence |
obj.<attribute> |
__getattr__ |
Dynamic attribute retrieval |
obj(*args, **kwargs) |
__call__(*args, **kwargs) |
Callable object
|