-2
Pythonでは、2つの異なるバージョンの引数を取る組み込み関数があります。例えば、同じ関数、2種類のパラメータ
str(object='') -> str
OR
str(bytes_or_buffer[, encoding[, errors]]) -> str
は、コードの正常な部分でこれを行う方法はありますか?たぶん何かのようなもの
def func(arg_option_1):
# do something
def func(arg_option_2):
# do something else
はい... [チュートリアル](https://docs.python.org/3/tutorial/controlflow.html#defining-functions)のいずれかを読んだことがありますか?これはかなり可変長の引数を持つ方法とデフォルトの引数を持つ方法を説明しています... – mgilson
実際には、 'func'を使ったあなたの例は、' str'の例のように何もありません。あなたの場合の最も簡単なオプションは関数内に 'if'ステートメントを置くことです。 –
Pythonはそのような多態性をサポートしていません。 'func'の2番目のバージョンは単に最初のバージョンを置き換えます。あなたは確かに 'str'のように*オプションの引数を持つことができます。また、渡されるオブジェクトの種類(正確に何をしているかによって決まる)に応じて異なることを行うことができます。 – jonrsharpe