it is usually because the function definition may belong in a physically different location in the code from the function declaration. Python does not make a distinction between the two, as a function ...