Özyineleme, bir problemi aynı problemin daha küçüğüne havale etmektir. 5 basamaklı bir merdivenin kaç basamak olduğunu şöyle de sayabilirsin: bir basamak, artı kalan 4 basamaklı merdiven. Fonksiyon kendi işinin küçük bir parçasını yapar, gerisi için kendini çağırır.
def total(n):if n == 0:return 0return n + total(n - 1)
n == 0) cevabı doğrudan verir ve zinciri durdurur. Adım problemi küçültür (n - 1) ve küçüğün cevabının üstüne kendi payını koyar.Okurken çağrıları kâğıda alt alta yaz: total(3) bekler, total(2) bekler, total(1) bekler, total(0) 0 döner; sonra cevaplar aşağıdan yukarı toplanır: 1, 3, 6. Her çağrı kendi n değerini taşır; birbirlerine karışmazlar.