A recursive function in Python is a function that calls itself during its execution. This means that the function will continue to call itself and repeat its behavior until some condition is met to return a result. All recursive functions share a common structure made up of two parts: base case and recursive case. The base case is the condition that stops the recursion, while the recursive case is the condition where the function continues to call itself to perform the operation.