Where is a complete list of the special double-underscore/dunder methods that can be used in classes? (e.g., __init__
, __new__
, __len__
Python's double underscore ("dunder") methods are also known as datamodel methods because they are at the core of Python's data model, providing a protocol for customizing (overloading) built-in methods. This is the reason why they are listed in the "Data Model" section of the Python's documentation.
Here is a complete reference of all the Python magic methods.
Do this if you prefer reading documentation from a CLI instead of the browser.
$ pydoc SPECIALMETHODS
For somebody who is relatively new to Python, and for whom the documentation is often not quite accessible enough (like myself): somebody wrote a nice introduction with lots of examples on how the special (magic) methods work, how to use them, etc.
Familiarize yourself with the dir function.
Dive Into Python has an excellent appendix for them.