Özyineleme (recursion), bir fonksiyonun kendini çağırmasıdır. Büyük bir problemi, aynı problemin küçük bir versiyonuna indirerek çözer.
Ayna benzetmesi
İki aynayı karşılıklı koyarsan sonsuz yansıma görürsün. Recursion da böyledir; ama mutlaka bir durma noktası gerekir.
Taban durum (base case)
Fonksiyonun kendini çağırmayı bırakacağı koşuldur. Onsuz sonsuza kadar çağırır ve program çöker.
Örnek: faktöriyel
def fakt(n):
if n == 0: # taban durum
return 1
return n * fakt(n - 1)
Kuzey Kutbu dersleriyle kendi elinle yazarak öğren.