この記事でGuido van Rossum は、この種の 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)))
「退屈」で「あまりOOではない」。彼は次に、デコレータを使用してマルチメソッドを実装する方法について説明します。これは、Python のかなり深い知識がなければアクセスできないと思います。
私の質問: マルチメソッドを記述する必要があります。上記のコードで実際に「オブジェクト指向ではない」とは何ですか?
更新: Thomas Orozco の回答に照らして、マルチメソッドを実際に記述する必要がないことに気付きました。