the name of the function must be an identifierand formal-parameters is (possibly emptylist of variable names (also identifiersthe formal parameterslike all variables used in the functionare only accessible in the body of the function variables with identical names elsewhere in the program are distinct from the formal parameters and variables inside of the function body function is called by using its name followed by list of actual parameters or arguments (when python comes to function callit initiates four-step process the calling program suspends execution at the point of the call the formal parameters of the function get assigned the values supplied by the actual parameters in the call the body of the function is executed control returns to the point just after where the function was called returning to the happy birthday examplelet' trace through the singing of two verses here is part of the body from mainsing("fred"print(sing("lucy"when python gets to sing("fred")execution of main is temporarily suspended at this pointpython looks up the definition of sing and sees that it has single formal parameterperson the formal parameter is assigned the value of the actualso it is as if we had executed this statementperson "freda snapshot of this situation is shown in figure notice the variable person inside of sing has just been initialized def sing(person)def main()happy(sing("fred"person "fredhappy(print(print("happy birthdaydear"person "sing("lucy"happy(person"fredfigure illustration of control transferring to sing at this pointpython begins executing the body of sing the first statement is another function callthis one to happy python suspends execution of sing and transfers control to the called