def square(x): ## def means "To define," return x*x ##return returns an output. ##a function's execution endds when it returns. def print_rules(): print("""Sell back your houses at half-price to the bank Mortage your deeds! Pay me!""") ## the main routine or the global frame. print(square(10)) print(square(2*3 + 5)) print(print_rules()) #print_rules has no input #It returns the useless default None #It has a side-effect. Side-effects are things that are left #behind when the function executes (other than return value) #path of execution # functions are read into memory. # print got called # Inside of print, square got called. Our program jumpst to square # square hands 100 to print # print puts 100 to the screen.