我正在尝试为一些计算科学代码结合数据类、属性和 lru_caches:
from dataclasses import dataclass
from typing import Any
from functools import lru_cache
@dataclass
class F:
a: Any = 1
b: Any = 2
c: Any = 3
@property
@lru_cache(1)
def d(self):
print('Computing d')
return (self.a+self.b)**self.c
f=F()
print(f.d)
print(f.d)
我希望看到
Computing d
27
27
但得到
TypeError: unhashable type: 'F'
有没有办法解决这个问题?
慕森王
相关分类