namespaces & indentation
matt at virtualspectator.com
Fri Dec 22 18:06:27 EST 2000
that is perfectly normal ...
this might help you
On Sat, 23 Dec 2000, Chris Schaller wrote:
> Dear Pythoners...
> I always thought that I understood Python's scoping, but then I came across
> that code:
> > def t(x):
> > if x == 1:
> > c = 'yeah'
> > return c
> If I execute t(1), I'll get 'yeah', but otherwise there'll be an error
> message. According to the indentation level c is only valid within the
> if-clause, but not on the outside. So I guess, the indentation level only
> defines the lines of code that belong to the if-clause, but has nothing to do
> with scopes.
> That's very confusing, I've already programmed a lot in Python, but only
> due to a program error (I forgot to initialize c at the beginning of the
> function - a common error) and an unsuccessful test this happened to a program
> after months of error-free running.
> Any comments?
Matt Halstead (PhD)
Research and development
More information about the Python-list