我正在使用xlwt
它对在 excel 文档中可以定义多少样式有 4k 限制。
通常,人们会创建如下样式:
style = xlwt.easyxf("font: bold 1")
我简单地替换为
def cached_easyxf(self, format):
return self._cache.setdefault(format, xlwt.easyxf(format))
效果很好。现在,我发现有时我需要传入关键字参数,这让我开始思考:我应该如何散列 args/kwargs 签名?
我应该根据 str(value) 创建一个缓存键吗?泡菜?什么是最坚固的?
对于我的情况,看起来我可以将键/值转换为字符串并将其添加到我的键中......但我现在很好奇一种通用的方法来处理这个问题,比如不可散列的类型arg=[1, 2, 3]
def cached_call(*args, **kwargs):
return cache.get(what_here)
cached_call('hello')
cached_call([1, 2, 3], {'1': True})