无法进入lru_cache'_lru_cache_wrapper

时间:2019-01-14 18:06:17

标签: python lru functools

由于某种原因,我根本无法进入_lru_cache_wrapper的代码。

我看到lru_cache装饰器在functools.py中返回了一个带有_lru_cache_wrapper的闭包。但是,当我在_lru_cache_wrapper的代码中添加断点时,它永远不会触发。我什至放了一个print()语句,该语句似乎没有被击中。我真的为此感到困惑,因为lru_cache代码达到了断点,但没有达到_lru_cache_wrapper。

from functools import lru_cache

@lru_cache()
def foo():
    print('foo')

if __name__ == '__main__':
    foo()
    print(foo.cache_info())

1 个答案:

答案 0 :(得分:2)

functools.py中的版本未使用。由_functools用C语言编写的版本为replaced

try:
    from _functools import _lru_cache_wrapper
except ImportError:
    pass