*args

  • Used when an unknown number of arguments will be passed into a function
  • Denoted by * in the method header
  • processed in a similar manner to a list

default_arguments

  • Basically normal arguments, but with a default value
  • If no value is passed, default value is set
  • If a value is passed, default value is overridden

norm, *args, **kwargs

*args and darg can be swapped in order, however the behavior slightly changes (??)

Recursion

Recursion is a design method for code - it refers to a class of functions that call on itself repeatedly.

Recursion - Base Case

Determine the stop point and begin the argument passing up the “stack” of recursive calls.

Recursion - Recursive Calls

Every call needs to trend towards the base case.