Laziness in Eager Languages
- Python
In Python 2.x the range
function computes a list of integers (eager or immediate evaluation):
In Python 3.x the range
function returns an iterator which computes elements of the list on demand (lazy or deferred evaluation):
- This change to lazy evaluation saves execution time for large ranges which may never be fully referenced and memory usage for large ranges where only one or a few elements are needed at any time.
Python manifests lazy evaluation by implementing iterators (lazy sequences) unlike tuple or list sequences. For instance:
>>> list = range(10) >>> iterator = iter(list) >>> print list >>> print iterator- The above example shows that lists are evaluated when called, but in case of iterator, the first element '0' is printed when need arises.
This section requires expansion. |
Read more about this topic: Lazy Evaluation
Famous quotes containing the words laziness, eager and/or languages:
“It is often laziness and timidity that keep us within our dutywhile virtue gets all the credit.”
—François, Duc De La Rochefoucauld (16131680)
“There was no cornin the wide market-place
All loathliest things, even human flesh, was sold;
They weighed it in small scalesand many a face
Was fixt in eager horror then; his gold
The miser brought; the tender maid, grown bold
Through hunger, bared her scornèd charms in vain.”
—Percy Bysshe Shelley (17921822)
“Wealth is so much the greatest good that Fortune has to bestow that in the Latin and English languages it has usurped her name.”
—William Lamb Melbourne, 2nd Viscount (17791848)