title: Lazy evaluation in Python
body: <p>What is lazy evaluation in Python?</p>
  
  <p>One website said : </p>
  
  <p>In Python 3.x the <code>range()</code> function returns a special range object which computes elements of the list on demand (lazy or deferred evaluation):</p>
  
  <pre><code>&gt;&gt;&gt; r = range(10)
  &gt;&gt;&gt; print(r)
  range(0, 10)
  &gt;&gt;&gt; print(r[3])
  3
  </code></pre>
  
  <p>What is meant by this?</p>