我想记住类中函数的结果:
class memoize:
def __init__(self, function):
self.function = function
self.memoized = {}
def __call__(self, *args):
try:
return self.memoized[args]
except KeyError, e:
self.memoized[args] = self.function(*args)
return self.memoized[args]
class DataExportHandler(Object):
...
@memoize
def get_province_id(self, location):
return search_util.search_loc(location)[:2] + '00000000'
def write_sch_score(self):
...
province_id = self.get_province_id(location)
但这不起作用,因为它告诉我get_province_id takes exactly 2 arguments(1 given)
有几个例子是值得一看的记忆装饰器here。我认为第二个和第三个示例可能更好地解决了方法与函数之间的问题。在
成员函数不能使用类修饰符,应使用函数修饰符:
相关问题 更多 >
编程相关推荐