Assigning to global variables from within a function
W Isaac Carroll
icarroll at pobox.com
Sat Jul 12 16:46:51 EDT 2003
Psymaster wrote:
> I want to do this:
>
> int= 0
>
> def change_int():
> int += 1
>
> change_int()
>
> but of course it doesn't work, Python thinks it is a local
> variable and refuses to reference the global one. So what would
> be a good way of doing this. Note that creating a new global
> variable from within the function isn't convenient because the
> function is intended to be used in loops.
First of all, remember that "int" is a built-in, so it's not a good idea
to use it for another purpose.
Have you tried declaring i as a global?
i = 0
def change_i():
global i
i += 1
change_i()
This doesn't make a new global variable, it just tells the compiler that
the i referenced inside the function is the global i, even though it's
being assigned to.
TTFN
More information about the Python-list
mailing list