最近学习一下魔术方法。
内置的函数会调用魔术方法来实现。比如len()方法会调用__len__()这个特殊方法等。
1.字符串形式相关:__repr__,__str__,__format__;
2.属性相关:__getattr__,__getattribute__,__setattr__,__delattr__,__dir__;
3.迭代:__iter__,__next__,__reversed__
4.集合:__len__,__getitem__,__setitem__,__delitem__,__contains__;
6.数值计算:__add__;
7.比较:__lt__,__le__,__eq__,__gt__,__ge__,__ng__等;
8.对象的创建和销毁:__new__,__init__,__del__;
特殊方法的具体参数可参考:https://docs.python.org/3/reference/datamodel.html