Junior
Je možné deklarovať funkciu vo vnútri inej funkcie a kde bude viditeľná?
sobes.tech AI
Odpoveď od AI
Áno, je to možné. Vnútorná funkcia (alebo vložená funkcia) je viditeľná a prístupná iba vnútri vonkajšej funkcie, v ktorej je definovaná. Jej rozsah viditeľnosti je obmedzený na telo vonkajšej funkcie.
def vonkajšia_funkcia():
def vnútorná_funkcia(): # Vnútorná funkcia
print("Toto je vnútorná funkcia")
vnútorná_funkcia() # Volanie vnútornej funkcie vo vnútri vonkajšej
vonkajšia_funkcia() # Volanie vonkajšej funkcie, čo vedie k vykonaniu vnútornej
# vnútorná_funkcia() # Tento riadok spôsobí chybu NameError, pretože vnútorná_funkcia nie je viditeľná mimo vonkajšej