私はMatlabからPythonに切り替えました。ラムダ関数を使用して、f1(x,y)
関数を多重引数を1つの引数関数f2(x)
にマップします。 私は機能をマッピングする際f2(x) <- f1(x,y=y1)
そしてy
が、これはデフォルトでtrueであるMATLABでは、どんなy1
変化を一定に保たないことをしたいが、私はPythonでしようとした場合、それは次の例のように変更他の関数のラムダ関数ですが、固定引数を強制します
>>> def f1(x,y):
>>> return (x+y)
>>> y1 = 2
>>> f2 = lambda x: f1(x,y1)
>>> f2(1)
3
Iを保持します期待して私はy1
を変更した場合、私は疑問に思う
>>> y1 = 5
>>> f2(1)
6
を次のようにしかし、全体f1(1)
もWH方法がある変更、y1
を変更した場合でもf2(1)
滞在3
en f2 = lambda x: f1(x,y1)
を宣言してからf1
の値をy1
とし、f2
に修正します。なぜなら、異なるシナリオに対して異なる機能を動的に作成し、それらを合計したいからです。 私はまだPythonには新しく、助けてください、多くの感謝しています。
を明示的DEF声明 を超える提供できる唯一の 利益を排除し、私が望むようには動作するようになりました、先端に感謝実際にはまだ2つの引数がありますが、1つの引数が必要になりますので、私のケースでは動作します。 –