假设您不想修改代码(例如,因为您只想移植到3.3并使用stdlib
functools.lru_cache,或者使用
functools32PyPI之外的方法,而不是将配方复制并粘贴到代码中),有一个显而易见的解决方案:为每个实例创建一个新的装饰实例方法。
class Test: def cached_method(self, x): return x + 5 def __init__(self): self.cached_method = lru_cache(maxsize=16)(self.cached_method)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)