print("happy birthdaydear person "print("happy birthday to you!" happybirthday('emily'happybirthday('andre'in the definition heading for happybirthdayperson is referred to as formal parameter this variable name is placeholder for the real name of the person being sung to the last two lines of the programagainare the only ones outside of definitionsso they are the only ones executed directly there is now an actual name between the parentheses in the function calls the value between the parentheses here in the function call is referred to as an argument or actual parameter of the function call the argument supplies the actual data to be used in the function execution when the call is madepython does this by associating the formal parameter name person with the actual parameter dataas in an assignment statement in the first callthis actual data is 'emilywe say the actual parameter value is passed to the function the execution in greater detail lines - definition remembered line call to happybirthdaywith actual parameter 'emily line 'emilyis passed to the functionso person 'emily lines - the song is printedwith 'emilyused as the value of person in line printing happy birthdaydear emily end of line after returning from the function call line call to happybirthdaythis time with actual parameter 'andre line 'andreis passed to the functionso person 'andre lines - the song is printedwith 'andreused as the value of person in line printing happy birthdaydear andre end of line after returning from the function calland the program is over notebe sure you completely understand birthday py and the sequence of executionit illustrates extremely important ideas that many people miss the first timeit is essential to understand the difference between defining function (lines - with the def heading including formal parameter nameswhere the code is merely instructions to be rememberednot acted on immediately calling function with actual parameter values to be substituted for the formal parameters and have the function code actually run when the instruction containing the call is run also note that the function can be called multiple times with different expressions as the actual parameters (line and again in line the beauty of this system is that the same function definition can be used for call with different actual parameterand then have different effect the value of the formal parameter person is used in the third line of happybirthdayto put in whatever actual parameter value was given notethis is the power of abstraction it is one application of the most important principal in programming rather than have number of separately coded parts with only slight variationssee where it is appropriate to combine them have given the explicit terminology "formal parameterand "actual parameterin various places you may see either of these terms replaced by just "parameteror maybe "argumentin that case you must determine from context which is being discusseda definition and formal parameter or function call and an actual parameter defining functions of your own