Think Python: Recursion

recursion

The process of calling the function that is currently executing

base case

A conditional branch in a recursive function that does not make a recursive call

infinite recursion

A recursion that doesn't have a base case, or never reaches it. Eventually, this causes a runtime error.