make order of function definitions irrelevant

Peter Hansen peter at engcorp.com
Mon Nov 10 15:18:12 EST 2003


anton muhin wrote:
> 
>   As was said, you usually don't need such a thing. If you desperatly
> looking for it, something like this might work:
> 
> func = None
> 
> def caller():
>      assert func, 'func is None'
>      return func()
> 
> def foo():
>      return 'foo'
> 
> def bar():
>      return 'bar'
> 
> func = foo
> 
> print func()
> 
> Of course, in this case you'd better pass an actual function as a
> parameter. But, again, almost for sureit's a flaw in your design.

As it stands, the first line in the above code is still redundant,
and can be removed with no ill effects, as "func" is not actually
called until it is bound to a real function.

-Peter




More information about the Python-list mailing list