/hellofuncthe first line is def statement which defines function named hello(the code in the block that follows the def statement is the body of the function this code is executed when the function is callednot when the function is first defined the hello(lines after the function are function calls in codea function call is just the function' name followed by parenthesespossibly with some number of arguments in between the parentheses when the program execution reaches these callsit will jump to the top line in the function and begin executing the code there when it reaches the end of the functionthe execution returns to the line that called the function and continues moving through the code as before since this program calls hello(three timesthe code in the hello(function is executed three times when you run this programthe output looks like thishowdyhowdy!!hello there howdyhowdy!!hello there howdyhowdy!!hello there major purpose of functions is to group code that gets executed multiple times without function definedyou would have to copy and paste this code each timeand the program would look like thisprint('howdy!'print('howdy!!!'print('hello there 'print('howdy!'print('howdy!!!'print('hello there 'print('howdy!'print('howdy!!!'print('hello there 'in generalyou always want to avoid duplicating code because if you ever decide to update the code--iffor exampleyou find bug you need to fix--you'll have to remember to change the code everywhere you copied it as you get more programming experienceyou'll often find yourself deduplicating codewhich means getting rid of duplicated or copy-andpasted code deduplication makes your programs shortereasier to readand easier to update