私はすべての引数がデフォルト値を持つ関数を定義したいと想像関数の内部渡された引数の数を見つける:パイソン -
def fun(a=2, b=1):
...
関数の内部ロジックは、ということです。何も渡されない場合、デフォルトを使用値; aだけが渡された場合、bは常にa/2に等しくなります。 aとbの両方が渡された場合は、渡された値を使用します。
この機能を完了する問題は、違いを見分けることは困難と思われるということである(例えば)楽しい(4)と楽しい私にはわからないので、(4,1)かB = 1は外部に提供されるか、デフォルト値に過ぎません。
私の場合、* argsを使用するのは明らかですが、私はデフォルトの値と名前を保持したいと思います。したがって、内部を知ることが唯一の方法だと思われます。fun()呼び出されたときにいくつの引数が渡されますか。私は使用するシステム機能があるかもしれないと思うが、私はそれらを見つけることに成功しなかった。どのように考えれば、この作品はどのように役立つでしょうか。
ありがとうございます! :)
をので、デフォルトの引数 'B = 1 'を持っていません。 (例えば) 'b = None'を持って、あなたの関数の中で、' b'が状況に基づいて取るべき値を決める。 – khelwood