class memoize_by_bar(key_memoized):

    def key(self, args, kwargs):
        return self.normalize_args(args, kwargs)['bar']

@memoize_by_bar
def foo(bar, baz, spam):
    print('calling foo: bar=%r baz=%r spam=%r' % (bar, baz, spam))
return bar
print(foo('x', 'ignore1', 'ignore2'))
print(foo('x', 'ignore3', 'ignore4'))
Есть ли питонический способ поддержки аргументов ключевых слов для декоратора memoize в Python?