each parameter refers to the same value as its corresponding argument sopart has the same value as line part has the same value as line and bruce has the same value as cat if an error occurs during function callpython prints the name of the functionand the name of the function that called itand the name of the function that called thatall the way back to __main__ fruitful functions and void functions some of the functions we are usingsuch as the math functionsyield resultsfor lack of better namei call them fruitful functions other functionslike print_twiceperform an action but don' return value they are called void functions when you call fruitful functionyou almost always want to do something with the resultfor exampleyou might assign it to variable or use it as part of an expressionx math cos(radiansgolden (math sqrt( when you call function in interactive modepython displays the resultmath sqrt( but in scriptif you call fruitful function all by itselfthe return value is lost forever math sqrt( this script computes the square root of but since it doesn' store or display the resultit is not very useful void functions might display something on the screen or have some other effectbut they don' have return value if you try to assign the result to variableyou get special value called none result print_twice('bing'bing bing print(resultnone the value none is not the same as the string 'noneit is special value that has its own typeprint type(nonethe functions we have written so far are all void