On 21/10/11 21:40, Albert-Jan Roskam wrote:
Interesting thread and webpages. Insightful, but is this really used as
a technique in daily practice?

Yes, one example is where you use it for a counter to
determine how often a function gets called:

def reserveScarceResource(p1,p2,count = [0]):   : count is mutable
    count[0] += 1
    if count[0] > 100:
       raise UsedTooManyException
    # allocate resources

Its not really a hack, it's an implementation feature and it's
a fair impression of a closure in languages like Lisp, which makes it useful for certain classes of problem.

It can also be useful in state machines where you want to carry
through a state value across transitions but don't need to retain
it after the state sequence completes.

You don't need it often but its nice to have when you do!

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to