python 函数缓存可变结果

python function cache a mutable result

提问人:jf328 提问时间:8/22/2023 更新时间:8/22/2023 访问量:20

问:

有没有办法缓存可变结果并防止缓存在函数调用后被修改?

from functools import lru_cache
import pandas as pd

@lru_cache
def myfun(x):
    return pd.Series(index = [1,2,3], data = [10,20,30])

A = myfun(4)
A[2] = 1 # this changed my cached result

B = myfun(4)
print(B) # wrong return

通常,是一个耗时的 db 数据读取器,并返回一个大的 pandas df。它往往在脚本中被多次调用。(请假设我无法完全控制人们之后如何使用函数返回)myfun

python-3.x 缓存 可变

评论


答: 暂无答案