Define functions with parameters, return values, default arguments, keyword arguments, and variable-length argument lists. Break a larger problem into small functions with clear responsibilities.