- Kje,
Les __
ne rendent pas le membre privé, ils renomment juste le champ en le préfixant du nom de la classe à l'extérieur. L'attribue reste parfaitement accessible.
Il n'y a pas vraiment d'interface en Python, le ducktyping + conventions permettant de s'en passer. Cependant depuis certaines versions ont à des classes abstraites qui peuvent donc tenir ce rôle. Mais c'est implémenté avec des métaclasses et decorateurs donc sans toucher au langage.
Enfin non il n'y a pas de multiple dispach en Python. En réalité il y a un décorateur de dispo pour faire du simple dispach (sur un seul argument donc) dispo dans la lib standard. En soit le multiple dispach ne serait pas dur à implémenté. De part sa nature dynamique, pas besoin de modifier le langage. Si il n'est pas dispo c'est que les dev ce sont confronté à des problèmes d'ambiguïté et de complexité forte de résolution lorsque ça a été envisagé ce qui a amené à la version simple actuellement disponible.
Mais encore une fois de par sa nature il est rare d'en avoir besoin. C'est dynamique, on peut tester le type ou regarder le nombre d'arguments nommés ou positionnelles facilement. Le fait que le type ne soit pas donné dans la signature, le duck typing et les différents types d'arguments rend le besoin beaucoup moins présent.
Édit: @lmghs oui je sais que GCC est passé au c++ mais c'est pas tout le projet GNU et c'est pour ça que je dis "en majorité".