次の 2 つの方法があるとします。
def function(self, my_object):
self.things.add(my_object)
def function_args(self, arg1, arg2, arg3 = None):
my_object = MyObject(arg1, arg2, arg3)
self.things.add(my_object)
これを、位置パラメーターで呼び出すことができる単一の関数として書きたいと思います。
something.function(an_object)
something.function(arg1, arg2, arg3)
結果の関数を常にキーワード引数で呼び出す場合は、その方法を確認できます。また、2 番目の関数のシグネチャを、次のリストまたはタプルを受け入れるように変更する場合は、その方法を確認できます。 3 つの引数で、各バージョンに 1 つの引数があり、型で区別できます (これは Python では正しくないようです)。
位置引数のいずれかのセットで呼び出すことができる単一の関数をきれいに書くことができますか?