returns the resultbecause this operation is called function nowit computes value for its caller to use arbitrarilyeven if it is just to be printed similarlythe new giveraise method just does to self what we did to sue before when run nowour file' output is similar to before--we've mostly just refactored the code to allow for easier changes in the futurenot altered its behaviorbob smith sue jones smith jones few coding details are worth pointing out here firstnotice that sue' pay is now still an integer after pay raise--we convert the math result back to an integer by calling the int built-in within the method changing the value to either int or float is probably not significant concern for this demointeger and floating-point objects have the same interfaces and can be mixed within expressions stillwe may need to address truncation and rounding issues in real system--money probably is significant to personsas we learned in we might handle this by using the round( built-in to round and retain centsusing the decimal type to fix precisionor storing monetary values as full floating-point numbers and displaying them with or { fformatting string to show cents as we did earlier for nowwe'll simply truncate any cents with int for another ideaalso see the money function in the formats py module of you could import this tool to show pay with commascentsand currency signs secondnotice that we're also printing sue' last name this time--because the last-name logic has been encapsulated in methodwe get to use it on any instance of the class as we've seenpython tells method which instance to process by automatically passing it in to the first argumentusually called self specificallyin the first callbob lastname()bob is the implied subject passed to self in the second callsue lastname()sue goes to self instead trace through these calls to see how the instance winds up in self--it' key concept the net effect is that the method fetches the name of the implied subject each time the same happens for giveraise we couldfor examplegive bob raise by calling giveraise for both instances this waytoo unfortunately for bobthoughhis zero starting pay will prevent him from getting raise as the program is currently coded-nothing times anything is nothingsomething we may want to address in future release of our software finallynotice that the giveraise method assumes that percent is passed in as floatingpoint number between zero and one that may be too radical an assumption in the real world ( raise would probably be bug for most of us!)we'll let it pass for this prototypebut we might want to test or at least document this in future iteration of step adding behavior methods