これは多分より少し異なっているだけで、従来の*引数** kwargsからパラダイム:2つまたは3つのパラメータを関数に渡すにはどうすればよいですか?
しかし私は、入力として、三つの独立したパラメータを取り数学関数は、それも指定することにより、(非コンパクトに)解くことができる持っています3つのうちのいずれか2つ。
現在、私はオプションの制約として、Cとのaとbに厳密に基づいて、非コンパクトなソリューションを、持っている:
def func(a,b,c=None):
if c is not None:
# do something with a, b, and c
else:
# do something with only a, b
return result
しかし、私は、任意の2を指定できるようにしたいと思い、B 、またはcを指定し、3つすべてを指定するオプションを保持します。それを行う最もPythonの方法は何ですか?
区別のために、あなたはそれらをクワルガーにする必要がありますね。では、 '' kwargs''アプローチの何が問題になりますか? – Jeronimo
すべてのデフォルト値に 'None'を与え、それをキーワード引数として渡します。 –
あなたの実際の関数ブロックに関する限り、 'try:[a、b、およびcで何かをしてください]を実行し、次にexceptブロックで何が例外がスローされたかを見て、そこ。 – Acccumulation