how do i make an array global
g.brandl-nospam at gmx.net
Wed Jun 28 15:55:38 CEST 2006
Bruno Desthuilliers wrote:
> a wrote:
>> def fn():
>> for i in range(l)
> l is not defined - you should have an error here.
>> global count
>> count[i]= ....
>> how do i declare count to be global if it is an array
> Just like it was an integer
No. If he's only mutating "count", he doesn't need a global
>> subsequently i should access or define count as an array
> You need to define count before.
>> global name 'count' is not defined
> You probably should not do that anyway. Globals are *evil*.
Do you realize that every variable you set in a module's namespace is a
global when used by a function? Globals are *not* evil.
> And functions modifying globals is the worst possible thing.
> There are very few chances you *need* a global here.
Look at the use case first.
For small scripts, sometimes re-assigning global names or mutating objects
refered to by global names is essential. For large-scale packages, though,
I agree with you that mutating globals is bad.
More information about the Python-list