Dan Widyono on 4 Oct 2004 15:27:03 -0000 |
> 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
|
|