[Tutor] Global variables

Kermit Rose kermit at polaris.net
Tue Aug 15 01:33:16 CEST 2006


 
 
From: Alan Gauld 
Date: 08/14/06 18:42:41 
To: Kermit Rose; Luke Paireepinart 
Cc: tutor at python.org; Danny Yoo 
Subject: Re: [Tutor] Global variables 
 
 
That may be true but you will make your code much less reusable 
and much more error propne in the process. There are good reasons 
why global variables are considered evil... 
 
 
*****
 
I know that global variable usage can be abused.
 
But in fact I use the same variable names  in the subroutine parameter list
as in the calling routine for every function in the module.
 
So I believe that in this case global variables would be useful and not
likely to
increase errors due to confusion of global and local variables.
 
I would never have a local variable with the same name as the global
variable.
 
But in this case, it's only because of an apparent bug in Python that want
to 
bypass that I'm considering the use of global variables.
 
 
My routine strongfac calculates a value for fac in the subroutine, and the
calling routine picks up a different vaalue.
 
An illustration.
 
In strong fac:
 
fac = [1,2,3]
print fac
return fac
 
in fermat:
 
fac = strongfac(z)
print fac
 
prints [0,0,0]
 
And most of the time it does not misbehave like this.
 
It is only occasionally, and consistently with certain numbers to be
factored.
 
 
Kermit   <  kermit at polaris.net >
 
 
 
 



More information about the Tutor mailing list