scope of variables
Steve R. Hastings
steve at hastings.org
Wed May 3 17:37:02 EDT 2006
On Thu, 04 May 2006 07:02:43 +1000, Gary Wessle wrote:
> b = 3
> def adding(a)
> print a + b
>
> it seams not to see the up-level scope where b is defined.
Assuming you put a ':' after the "def adding(a)", this should work in
recent versions of Python. In Python 2.0 and older, this will not work.
In Python 2.1, it will only work if you do this:
from __future__ import nested_scopes
When you first start Python interactively, it should print version
information. Here's what my Python prints when I start it:
Python 2.4.3 (#2, Apr 27 2006, 14:43:58)
[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
As you can see, I'm running Python 2.4.3. Make sure you aren't running an
old version of Python, and that code should do what you expect.
--
Steve R. Hastings "Vita est"
steve at hastings.org http://www.blarg.net/~steveha
More information about the Python-list
mailing list