Can you explain the concept of recursion and provide an example of a recursive function in Python?
Recursion is a programming concept where a function calls itself in its own definition. Here's a basic example of a recursive function to calculate the factorial of a number: