Declare function at end of file in Python

Viewed 118395

Is it possible to call a function without first fully defining it? When attempting this I get the error: "function_name is not defined". I am coming from a C++ background so this issue stumps me.

Declaring the function before works:

def Kerma():
        return "energy / mass"    

print Kerma()

However, attempting to call the function without first defining it gives trouble:

print Kerma()

def Kerma():
    return "energy / mass"

In C++, you can declare a function after the call once you place its header before it.

Am I missing something here?

5 Answers

If you are willing to be like C++ and use everything inside a functions. you can call the first function from the bottom of the file, like this:

def main():
    print("I'm in main")
    #calling a although it is in the bottom
    a()

def b():
   print("I'm in b")

def a():
   print("I'm in a")
   b()

main()

That way python is first 'reading' the whole file and just then starting the execution

Related