Un caso particolare di funzione è la funzione ricorsiva.
Questa è una funzione che richiama se stessa attraverso un'altra funzione.
La funzione sa come risolvere solo i casi più semplici, cioè i casi base (Nella serie di Fibonacci, Fibinacci(0)=0, Fibonacci(1)=1). Se la funzione verrà chiamata su un caso base (se alla funzione Fibonacci passiamo come parametro 0 o 1), restituirà direttamente il risultato (rispettivamente 0 e 1). Se alla funzione passiamo un parametro differente, la funzione sarà in grado di ricondurre il problema al caso base. Per farlo dovrà invocare una nuova copia di se stesso. Questo processo viene definito chiamata ricorsiva.
E' fondamentale la parola chiave return, che come abbiamo visto restituisce il valore finale alla funzione chiamante.

L'esempio tipico è il fattoriale di un numero, oppure la serie di Fibonacci di cui vi ho già ampiamente parlato nella discussione precedente