Elles sont de la forme __XXX__ et permettent, entre autres, de donner un comportement à vos objets lorsqu’ils sont par exemple face à un opérateur, comme +.

>>> class Truc:
...    pass
...
>>> o1 = Truc()
>>> o2 = Truc()
o1 + o2
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    o1 + o2
TypeError: unsupported operand type(s) for +: 'Truc' and 'Truc'
class Truc:
    def __add__(self, other):
        return "ça fonctionne"
 
o1 = Truc()
o2 = Truc()
o1 + o2
'ça fonctionne'

Les plus utiles sont __repr__ ou __str__.