https://docs.python.org/3/reference/datamodel.html
https://rszalski.github.io/magicmethods/
dunders, magic methods, special methods
help(func)
dir(func)
corresponding public method
shortcuts
0.
__dict__
1.
__new__
__init__
2.
__str__
__repr__
3.
__getattr__
__setattr__
__delattr__ 
hasattr
4.
comparison and sort (>, <, ==, !=, <=, >=)
__eq__
__ne__
__lt__
__le__
__gt__
__ge__
http://abregman.com/2016/11/29/python-objects-comparison/
5.
list
__getitem__        something = x[i]
__setitem__        x[i] = 5
__delitem__
6.
arithmetic (+, -, x, /, etc.)
__add__                              concatenate
7.
ierator (for loop)
__contains__                container objects  (in operator)
__next__
__iter__
8.
__len__                    len()
__reversed__                reversed()
9.
context manager  ('with')
__enter__
__exit__