Après une pause de près de 2 ans sans développer (c’est pas mal la retraite, vous devriez essayer!), je cherche à rattraper le temps perdu, et combler mes lacunes.
Sujet: dunder, ou “double_underscore”.
Ces identifiants, comme __init__, qui commencent et finissent par 2 underscores.
Comme nous tous, j’en utilise pleins, mais, au moment de chercher une définition officielle de ces “fonctions magiques” (effectivement appellées “magic functions” en plein d’endroits), macache! Pas de def officielle, ou bien je ne sais pas chercher!
Ah! Ah! Bien sur, en rédigeant ma question, je la creuse, et je tombe sur de nouveaux indices!
Il semblerait que “dunder” soit le nom vernaculaire de la chose, un peu comme en botanique il y a le nom courant, connu du pékin de base, et le nom latin, connu des seuls savants.
dans le glossaire (Glossary — Python 3.11.3 documentation) on trouve une entrée :
magic method
An informal synonym for special method.
lui-même défini plus loin:
special method
A method that is called implicitly by Python to execute a certain operation on a type, such as addition. Such methods have names starting and ending with double underscores. Special methods are documented in Special method names.
et la liste de ces “Special method names” est définie en : 3. Data model — Python 3.11.3 documentation
C’est le paragraphe 3.3, et il y en a 22 pages!
Et après, on dira que python est simple!
Bon, je sais pas vous mais moi, depuis Poutine, qd on appelle un truc “spécial”, je suis un peu méfiant. Mais bon, on avait choisi le terme avant lui.
Bon, merci de vos réponses!