Dumb newbie back in shell
MartinRinehart at gmail.com
MartinRinehart at gmail.com
Tue Dec 11 08:18:00 EST 2007
I'm less confused. If someone can explain the wisdom of this design,
I'd be grateful.
If someone can explain why the following compiles successfully, I'd be
even more grateful:
def get_toks( text ):
global line_ptr, last_line
while line_ptr < last_line:
while char_ptr < len(text[line_ptr]):
if matches_EOI():
tokens.append( Token(EOI) )
elif matches_EOL():
tokens.append( Token(EOL) )
line_ptr += 1
char_ptr = 0
Shouldn't "char_ptr" be flagged as an error, appearing in line 4
before being a lhs in the last line?
Martin
MartinRineh... at gmail.com wrote:
> Peter,
>
> question is, why did the first one work? In my real code I've got
> module-level vars and an error msg trying to use them in a function.
> In my test example I've got them accessed from within a function w/o
> error message.
>
> I am confused.
>
> Martin
>
> Peter Otten wrote:
> > MartinRinehart wrote:
> >
> > > However, here's the little tester I wrote:
> > >
> > > # t.py - testing
> > >
> > > global g
> > > g = 'global var, here'
> > >
> > > def f():
> > > print g
> > >
> > > f()
> > >
> > > It prints 'global var, here,' not an error message. Wassup?
> >
> > Try it again with a modified f():
> >
> > def f():
> > print g
> > g = 42
> >
> > In Python variables that are assigned to in a function are
> > function-local by default.
> >
> > Peter
More information about the Python-list
mailing list