Brian van den Broek said unto the world upon 2005-02-07 20:36:
Steve Holden said unto the world upon 2005-02-07 17:51:

<SNIP>

The reason global is a wart can clearly be seen in the following example:

 >>> x = 3
 >>> def f(tf, v):
 ...   if tf:
 ...     global x
 ...   x = v
 ...
 >>> f(0, 5)
 >>> x
5
 >>>

<SNIP>

Hi,

Steve's example makes my brain hurt. :-)

I'd appreciate it if someone could tell me if I am understanding the example correctly. (My grasp of the terminology and issues at play is a bit shaky.)

<SNIP>

Thanks for any confirmation of my understanding / rectification of same. Best,

Brian vdB

Thanks to everyone whose contributed to this sub-thread! I've learned a lot. :-)


And, for posterity, some one wrote me off-list to correct my claim
that in

if False:
    # thousands of lines of code here

the thousands of lines "would never get executed". Simplifying their example, they pointed out:

>>> False = 'evil trickery'
>>> if False:
...     print 'Surprise!'
...
Surprise!
>>>

Which leads me naturally to the differences between 'if False:' and 'if ):' that Duncan Booth pointed to. (Where'd I put the Tylenol.)

Thanks again to all,

Brian vdB


-- http://mail.python.org/mailman/listinfo/python-list

Reply via email to