Sobes.tech
Junior

Може ли да се деклараше функција унутар друге функције и где ће бити видљива?

sobes.tech АИ

Одговор од АИ

Da, to je moguće. Unutarnja funkcija (ili ugniježđena funkcija) vidljiva je i dostupna samo unutar vanjske funkcije u kojoj je definirana. Njezin opseg vidljivosti je ograničen na tijelo vanjske funkcije.

def vanjska_funkcija():
    def unutarnja_funkcija(): # Ugniježđena funkcija
        print("Ovo je unutarnja funkcija")

    unutarnja_funkcija() # Poziv unutarnje funkcije unutar vanjske

vanjska_funkcija() # Poziv vanjske funkcije, što dovodi do izvršenja unutarnje
# unutarnja_funkcija() # Ovaj red će izazvati grešku NameError, jer unutarnja_funkcija nije vidljiva izvan vanjske