Sobes.tech
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