User Tools

Site Tools


cs_lang:python:things-to-know:lazy-vs-eager

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
cs_lang:python:things-to-know:lazy-vs-eager [2013/01/23 14:51]
cedric created
cs_lang:python:things-to-know:lazy-vs-eager [2013/01/23 15:01] (current)
cedric
Line 1: Line 1:
-Lazy vs Eager evaluation+====== Lazy vs Eager evaluation ======
  
-Python generally uses eager evaluation (in contrary to Haskell).+Python generally uses an eager evaluation (in contrary to [[cs_lang:haskell|Haskell]]but for example with Python 3 the range() function returns a special range object which computes elements of the list on demand.
  
 <code python> <code python>
Line 11: Line 11:
 </code> </code>
  
-This was not the case with Python 2:+This was not the case with Python 2 (without iterators):
 <code python> <code python>
 >>> r = range(10) >>> r = range(10)
Line 19: Line 19:
 3 3
 </code> </code>
 +
 +Lazy evaluation saves execution time for large ranges.
cs_lang/python/things-to-know/lazy-vs-eager.1358949116.txt.gz ยท Last modified: 2013/01/23 14:51 by cedric