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

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to