function with a state
Andrew Koenig
ark at acm.org
Sun Mar 6 10:25:11 EST 2005
"Xah Lee" <xah at xahlee.org> wrote in message
news:1110096425.669042.11050 at o13g2000cwo.googlegroups.com...
> globe=0;
> def myFun():
> globe=globe+1
> return globe
>
> apparently it can't be done like that. I thought it can probably be
> done by prefixing the variable with some package context...
You can do this:
globe=0
def myFun():
global globe
globe=globe+1
return globe
The question you should ask yourself, however, is why you want to do this.
Do you really want to tie your function to a single global variable? Are
you sure you will never need more than one?
For example, the function you've written represents a counter. Are you sure
you will never need more than one such counter?
More information about the Python-list
mailing list