*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
anddarg
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.