Sur cet article Guido van Rossum affirme que ce type d'implémentation multiméthodes en Python :
def foo(a, b):
if isinstance(a, int) and isinstance(b, int):
...code for two ints...
elif isinstance(a, float) and isinstance(b, float):
...code for two floats...
elif isinstance(a, str) and isinstance(b, str):
...code for two strings...
else:
raise TypeError("unsupported argument types (%s, %s)" % (type(a), type(b)))
est "fastidieux" et "pas très OO". Il se lance ensuite dans une description de la manière dont les décorateurs peuvent être utilisés pour mettre en œuvre des multiméthodes, ce qui, à mon avis, est inaccessible à ceux qui n'ont pas une connaissance assez approfondie de Python.
Ma question : J'ai besoin d'écrire une multiméthode, qu'est-ce qui n'est "pas OO" dans le code ci-dessus ?
UPDATE : À la lumière de la réponse de Thomas Orozco, je réalise maintenant que je n'ai pas du tout "besoin" d'écrire une multiméthode.