oun def addinterest(balancerate)def test()=am nce newbalance balance ( ratea amount ba = balance newbalance rate rat addinterest(amount,rateprint(amountbalance amount rate rate figure transfer of control to addinterest executing the first line of addinterest creates new variable newbalance now comes the key step the next statement in addinterest assigns balance to have the same value as newbalance the result is shown in figure notice that balance now refers to the same value as newbalancebut this had no effect on amount in the test function unt def addinterest(balancerate)amo def test()cen newbalance balance ( ratea amount ate bal = balance newbalance rate rat addinterest(amount,rateprint(amountbalance amount rate rate newbalance figure assignment of balance at this pointexecution of addinterest has completed and control returns to test the local variables (including parametersin addinterest go awaybut amount and rate in the test function still refer to the initial values of and respectively of coursethe program prints the value of amount as to summarize the situationthe formal parameters of function only receive the values of the actual parameters the function does not have any access to the variable that holds the actual parameterthereforeassigning new value to formal parameter has no effect on the variable that contains the actual parameter in programming language parlancepython is said to pass all