跳到内容

lru-cache-with-maxsize-none (UP033)

源自 pyupgrade linter。

修复总是可用的。

作用

检查 functools.lru_cache 的使用,其中 maxsize=None

为什么这不好?

自 Python 3.9 起,可以使用 functools.cache 作为 functools.lru_cache(maxsize=None) 的直接替代品。 如果可能,首选 functools.cache,因为它更具可读性和惯用性。

示例

import functools


@functools.lru_cache(maxsize=None)
def foo(): ...

建议改为

import functools


@functools.cache
def foo(): ...

Options (选项)

参考