aarondesk wrote:
....
Now I've tried putting the function declaration after the call but the
program wouldn't work. Is there anyway to put function declarations at
the end of the program, rather than putting them at the beginning,
which is rather clunky?
Thanks.
Aaron
A function can call functions defined "below" it:
def a():
return b()
def b():
return 'foo'
print a() # prints 'foo'
because at runtime both functions exist in the current namespace. But
module-level statements can't call functions defined below them because
the function objects haven't been created yet. That's why you get a
NameError, the name 'b' won't been bound to anything until after the
def statement has been interpreted.
You can, of course, put your functions in another module.
Hope that helps,
~Simon