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