【发布时间】:2013-10-11 09:56:29
【问题描述】:
在 C# 中是否有类似的方法来执行以下操作:
class Memoize:
def __init__(self, f):
self.f = f
self.memo = {}
def __call__(self, *args):
if not args in self.memo:
self.memo[args] = self.f(*args)
return self.memo[args]
@Memoize
def fib(n):
if n < 2:
return n
else:
return fib(n-1) + fib(n-2)
【问题讨论】:
-
如果您可以在这段代码中解释您在做什么,那么非 python 用户将很容易回答您的问题
-
@Kyle 我正在使用 python 中的装饰器缓存函数调用的结果。
标签: c# python memoization