我在一个图书馆里开了一个回忆录装饰课,比如:
class memoizer(object):
def __init__(self, f):
"some code here"
def __call__(self, *args, **kwargs):
"some code here"
当我将它用于库中的函数时,我使用@memoizer
。但是,我希望客户机(即使用库的程序员)用一些参数从库外部初始化memoization类,这样它就可以容纳客户机程序中使用的decorator的所有用途。特别是,这个特殊的记忆类将结果保存到一个文件中,我希望客户机能够指定文件可以占用多少内存。这可能吗?在
您可以使用decorator factory来实现:
如果你不喜欢工厂,你可以在一些模块中创建全局变量,并在使用我们的decorator之前设置它们(不是很好的解决方案,IMO工厂更干净)。在
相关问题 更多 >
编程相关推荐