|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|
Re: [PLUG] python and global name space
|
> You have to declare num as global in the *function*, not in the outer
> scope.
>From Python Essential Reference, 2nd ed., p66:
"One peculiarity of namespaces is the manipulation of global variables from
within a function. ... When variables are assigned in a function, they're
always bound to the function's local namespace; ... To alter this behavior,
use the global statement. ... is necessary only when global variables will be
modified."
This includes e.g.
a = 42
def foo():
print a
a = 13
print a
foo()
This will error, since "a = 13" says you expect a to be local within the
function, so even the first "print a" is referencing a local variable, which
is yet undefined.
Dan W.
--
-- Daniel Widyono --
-- www.widyono.net --
-- www.cis.upenn.edu/~widyono --
--
___________________________________________________________________________
Philadelphia Linux Users Group -- http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|