私は、他の人のコードを見る前に、メモ化デコレータの独自のバージョンを作成しようとして、徹底的に遊んでいます。正直なところ、それはもっと楽しい練習です。しかし、遊んでいるうちに、デコレータでやりたいことができないことがわかりました。
def addValue( func, val ):
def add( x ):
return func( x ) + val
return add
@addValue( val=4 )
def computeSomething( x ):
#function gets defined
私がそれをしたいなら、私はこれをしなければなりません:
def addTwo( func ):
return addValue( func, 2 )
@addTwo
def computeSomething( x ):
#function gets defined
このようにデコレータでキーワード引数を使用できないのはなぜですか? 私は何を間違っていますか、どうすればよいか教えてもらえますか?