problem updating variable in a module

Tim Rowe digitig at gmail.com
Wed Sep 24 11:19:54 EDT 2008


2008/9/24  <dudeja.rajat at gmail.com>:
> Hi,
>
> I've a problem updating my variable in a module.
>
> In my main program, I call a function from mod1 to update a variable of mod1
> As soon as I update this varibale, I check it back in the mail program but
> it the variable from mod1 does not get updated.
>
> main Program:
> ****************
> import mod1
> a = 20
> mod.update(a)
> print mod.a   <---- does not print anything
>
> mod1
> ********
> a = 10
> def update(someInt):
>      global a
>      a = someInt
>      print a     <---- this does actually print a = 20

I'm surprised it runs at all -- as far as I can see "mod" in
"mod.update(a)" and "print mod.a" is not defined. Did you mean "mod1"?
If I change it to that, both print statements print "20" as I'd
expect.

I take it you do have a *really* good reason to use a global?

-- 
Tim Rowe



More information about the Python-list mailing list