Gnezdenje klicev

Videli smo že nekaj primerov, ko ena funkcija kliče drugo. Možno je tudi, da druga funkcija spet kliče prvo (glej program spodaj).

Funkcija Prva torej lahko pokliče funkcijo Druga, čeprav je ta deklarirana pozneje v programu. Pomembno je le, da prvi klic funkcije Prva nastopi šele po tistem, ko je tolmač že prebral deklaracijo funkcije Druga. V našem primeru prvi klic funkcije Prva nastopi šele čisto na koncu programa, tako da s tem ni težav.


Zaženimo spodnji program. Iz izpisa lahko lepo vidimo, kako so klici gnezdeni eden v drugem. Ko se izvajanje vrne iz vgnezdenega klica, se nadaljuje z naslednjim stavkom zunanjega klica in tako naprej.

Funkcija lahko kliče tudi neposredno sámo sebe – temu pravimo rekurzija.

...   Python