質問を知っている:[なぜPythonは関数のオーバーロードをサポートしないのですか? ](https://links.jianshu.com/go?to=https%3A%2F%2Fwww.zhihu.com%2Fquestion%2F20053359)
関数のオーバーロードは、主に2つの問題を解決するためのものです。
さて、ケース1の場合、関数は同じ関数を持っていますが、パラメータータイプが異なりますが、pythonはそれをどのように処理しますか?答えは、pythonは任意のタイプのパラメーターを受け入れることができるため、まったく処理する必要がないということです。関数の関数が同じである場合、異なるパラメータータイプはpythonの同じコードである可能性が高く、2つの異なる関数を作成する必要はありません。
したがって、ケース2の場合、関数は同じ関数を持ちますが、パラメーターの数が異なります。pythonはそれをどのように処理しますか?ご存知のように、答えはデフォルトのパラメータです。この問題は、不足しているパラメーターをデフォルトのパラメーターとして設定することで解決できます。機能は同じであると想定しているため、不足しているパラメーターが最終的に必要になります。
ケース1と2の両方に解決策があることを考えると、pythonは当然関数のオーバーロードを必要としません。
Recommended Posts