problem with 'global'
Duncan Booth
duncan.booth at invalid.invalid
Mon Jan 21 05:36:45 EST 2008
Mel <mwilson at the-wire.com> wrote:
> oyster wrote:
>> why the following 2 prg give different results? a.py is ok, but b.py
>> is 'undefiend a'
>> I am using Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC
>> v.1310 32 bit (Intel)] on win32
>> #a.py
>> def run():
>> if 1==2: # note, it always False
>> global a
>> a=1
>>
>> run()
>> a
>>
>> #b.py
>> def run():
>> a=1
>>
>> run()
>> a
>
> The docs seem to be in <http://www.python.org/doc/2.4/ref/global.html>
> but don't look all that helpful.
Why are you reading Python 2.4 docs? Try
http://docs.python.org/ref/global.html
The first sentence (which hasn't changed since 2.4) describing the global
statement seems clear enough to me: "The global statement is a declaration
which holds for the entire current code block."
More information about the Python-list
mailing list