Functions continuing to ru after returning something?
Peter Otten
__peter__ at web.de
Tue Aug 31 04:03:54 EDT 2010
Bradley Hintze wrote:
> I may be having a brain fart, but is it at all possible to have a
> function first return a value then continue its calculation. Like this
> simple example:
>
> my_var = 5
> def my_function():
> return my_var
> my_var +=1
>
> This obviously won't work as written but is there a cleaver way around
> this.
>>> n = 1
>>> def f():
... global n
... try:
... return n
... finally:
... n += 1
...
>>> f()
1
>>> f()
2
>>> f()
3
However, I would prefer the generator as Aidan has shown because it doesn't
rely on a global variable.
Peter
More information about the Python-list
mailing list