擅长:python、mysql、java
<p><a href="https://docs.python.org/3/library/functools.html#functools.lru_cache" rel="nofollow noreferrer">^{<cd1>}</a>有时可以帮助您:</p>
<blockquote>
<p>Decorator to wrap a function with a memoizing callable that saves up to the maxsize most recent calls. It can save time when an expensive or I/O bound function is periodically called with the same arguments.</p>
</blockquote>
<pre><code>>>> from functools import lru_cache
>>> from time import sleep
>>> @lru_cache()
... def expensive_potato():
... print('reticulating splines...')
... sleep(2)
... return 'potato'
...
>>> expensive_potato()
reticulating splines...
'potato'
>>> expensive_potato()
'potato'
</code></pre>
<p>这是python3.2中的新特性。如果您使用的是老Python,那么很容易编写自己的decorator。你知道吗</p>
<p>如果您使用的是类的方法/属性,<a href="https://github.com/pydanny/cached-property" rel="nofollow noreferrer">^{<cd2>}</a>很有用。你知道吗</p>