

pythonのlambdaを使った関数 `add_functions(f, g)` があり、  
return値を `f(x) + g(x)` としたいのです。たとえば、

[code]

    f = add_functions(lambda x: x*2, lambda x: x + 1)
    
[/code]

`f(2)` と実行すると結果は以下のようになります。

[code]

    f(2)  # returns (2*2) + (2 + 1) = 7
    
[/code]

この `add_functions` 関数の中身はどうやって書けばよいでしょう？  
教えていただけましたら幸いです。

ヒントには下記のように書かれていました。

> You can directly return a lambda


CC BY-SA 3.0
2017-10-15T11:54:29.193
38724
2017-10-21T22:53:46.910
2017-10-21T22:53:46.910
19110
25775
question
python
python で lambda を使い「関数を受け取って関数を返す」関数が作りたい


ヒントに書いてある通り、ラムダ式自体を返り値にすればよいです。

[code]

    def add_functions(f, g):
        return lambda x: f(x) + g(x)
    
[/code]

\-- [metropolis](https://ja.stackoverflow.com/users/16894/metropolis)
さんの[コメント](https://ja.stackoverflow.com/questions/38724/python-
lambda%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84#comment38977_38724)より。


CC BY-SA 3.0
2017-10-21T22:52:35.010
38942
2017-10-21T22:52:35.010
19110
38724
answer