title: Python lru_cache implementation
body: <p>I am trying to understand the implementation of <code>lru_cache</code> <code>decorator</code> in python (3) specifically how it creates the <code>key</code> from function <code>args</code> for its internal <code>dict</code>.</p>
  
  <p>I have been reading this <a href="https://github.com/python/cpython/blob/master/Lib/functools.py#L414" rel="noreferrer">https://github.com/python/cpython/blob/master/Lib/functools.py#L414</a></p>
  
  <p>I am unable to understand why there is this <code>kwd_mark = (object(),)</code> in the function. I see that it is making a <code>tuple</code> with only an instance of <code>object()</code> and what it seems like is that it is like a delimiter between all of the <code>args</code> and <code>kwargs/kwds</code> for the <code>key</code> for a function call.
  I am trying to understand if it is doing anything special here <a href="https://repl.it/repls/ExpensiveFinishedSandboxes" rel="noreferrer">https://repl.it/repls/ExpensiveFinishedSandboxes</a> but I can not think of anything. </p>